2009-10-15 6 views

ответ

6

Обычно вы должны пройти по значению.

Вы должны передавать только ссылку, если вам нужно изменить массив на месте, а не возвращать новый.

Там нет выигрыша в производительности для передачи по ссылке при чтении из массива, так как PHP использует копирования при записи,

+0

Действительно, переход по значению, когда вам не нужно, может вызвать неожиданные изменения в исходном массиве, если вы играете с ним внутри функции. – seanmonstar

+0

Я думаю, что он подразумевает передачу по ссылке, когда вам это не нужно. –

0

Если вы заинтересованы в максимизации производительности, сделать тест скорости. Из-за оптимизаций PHP передача по ссылке обычно быстрее, чем передача по значению, только если вы модифицируете массив (однако обратите внимание, что поведение тоже отличается!).

Передача по значению помогает уменьшить побочные эффекты функции (побочные эффекты - общий источник сложности и ошибок кода), а для этого и других реасинов это «лучший стиль».

Итак, перейдите по ссылке, только если есть веские основания для этого.

Смежные вопросы