Intereting Posts
Как я могу поймать «захватывающую фатальную ошибку» в подсказке типа PHP? php: SQLSTATE Соединение не может быть выполнено, потому что целевая машина активно отказалась от него Заменяйте строку только один раз с помощью php preg_replace Как мы можем получить конкретные ссылки, используя простой html dom Могу ли я получить братьев и сестер с помощью DOMDocument от PHP? Loop MySql INSERT запрос. Пока или Foreach? Данные из загруженного файла XML с различным количеством дочерних узлов для каждого родительского узла Как сохранить изображение, созданное pChart, в файл? Когда модуль включен в содержание левой и правой панели, поэтому я хочу скрыть код javascript в OpenCart Секунды в год Есть ли способ, чтобы подклассы PHP наследовали свойства (как статические, так и экземпляры)? Как обновить PHP + MySQL CMS? Как изменить размер изображения с помощью Codeigniter Symfony2 Form заполнить поля данными

Объявляет ли ненужную переменную в PHP память?

Обычно я делаю это на PHP для лучшей читаемости, но я не знаю, потребляет ли он память или какие-либо другие проблемы? Предположим, у меня есть этот код:

$user = getUser(); // getUser() will return an array 

Я мог бы сделать:

 $email = $user["email"]; sendEmail($email); 

Без объявления переменной $ email я мог бы сделать:

 sendEmail($user["email"]); 

Какая из них лучше? Подумайте, что это просто очень простой пример.

Не делайте код менее читаемым, чтобы сохранить несколько байтов. И это не спасет вас больше, даже если $email – это строка 100 МБ, потому что внутри PHP использует копию на механизме записи . Содержимое переменной не копируется, если вы не измените ее.

Пример:

 $a = str_repeat('x', 100000000); // Memory used ~ 100 MB $b = $a; // Memory used ~ 100 MB $b = $b . 'x'; // Memory used ~ 200 MB 

да это оно! Переменная создает область хранения, чтобы вы могли использовать и манипулировать ими. если он не используется, в этом случае потребление памяти будет происходить. sendEmail($user["email"]); будет лучшим способом. но это не хороший способ писать коды без переменных. Через переменную вы можете отслеживать фактические ошибки, если они есть, а также помогает в масштабируемости, удобочитаемости.