2017-02-20 10 views
3

В частности, в Wordpress мне было интересно: имеет ли смысл экономить, например, $post->ID в переменной $post_id при доступе к ней несколько раз из цикла?Стоит ли сохранять свойство объекта в переменной при доступе несколько раз?

Я имею в виду: $post_id = $post->ID

при необходимости в функциях Тогда всегда вызывать $post_id.

В основном я нахожу, что занимаюсь этим все время, потому что в javascript вы сохраняете память. Но верно ли это в этом контексте php/wordpress?

ответ

5

В современном PHP добавление переменной $post_id почти не скажется на памяти, если оно читается только для циклов. Значение двух переменных ссылается в одной ячейке памяти, пока вы не измените одну из переменных, и в это время PHP копирует ее в два отдельных места в памяти. Это referred to как copy-on-write.

Единственная разница в производительности может быть разыменованием объекта. Стоимость, если таковая имеется, настолько мала, что она незначительна.

Таким образом, чтобы ответить на ваш первоначальный вопрос, нет необходимости добавлять другую переменную для повышения производительности. Также см. this broad conversation о микро-оптимизации.

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

  • Нет связанных вопросов^_^