Вопрос по ссылке рекомендуется для массивов? - PullRequest
0 голосов
/ 13 апреля 2011

Это то, что мне нужно было прояснить некоторое время назад.В PHP 5.3+ я хотел спросить, улучшает ли это производительность на очень большом массиве?И у вас есть способ, которым я могу продемонстрировать доказательство?

$synonyms = & MobyThesaurus::GetSynonyms("check");

Обратите внимание на амперсанд (по ссылке, а не по значению).

1 Ответ

1 голос
/ 13 апреля 2011

PHP использует копирование при записи за кулисами.Это означает, что значения копируются только тогда, когда они изменены.До тех пор копирование не происходит, и $synonyms в любом случае действует как ссылка.Если вы когда-либо читаете из массива, разница в производительности не должна быть. не имеет большого значения в функциональности , является ли переменная ссылкой или нет.Не используйте ссылки, если вы этого не хотите, или вы можете добавить в свое приложение забавные побочные эффекты.

За кулисами происходит множество оптимизаций, не ожидайте, что сможете их оптимизироватьс такими "хитростями".PHP не тот язык, чтобы быть умным с акробатикой указателей / ссылок.: -)

...