在PHP中声明一个不必要的变量会消耗内存吗?

Lui*_*ndo 7 php variables performance

我通常在PHP中执行此操作以获得更好的可读性,但我不知道它是否消耗内存或有任何其他问题?假设我有这段代码:

$user = getUser(); // getUser() will return an array
Run Code Online (Sandbox Code Playgroud)

我可以:

$email = $user["email"];
sendEmail($email);
Run Code Online (Sandbox Code Playgroud)

没有声明变量$ email我可以做:

sendEmail($user["email"]);
Run Code Online (Sandbox Code Playgroud)

哪一个更好?考虑一下这只是一个非常简单的例子.

Fab*_*ler 5

为了节省几个字节,不要使代码的可读性降低.即使$email是一个100 MB的字符串,这也不会为您节省更多,因为内部PHP使用写入机制副本:除非您更改变量,否则不会复制变量的内容.

例:

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