我通常在PHP中这样做是为了更好的可读性,但我不知道它是否消耗内存或有任何其他问题?假设我有这段代码:
$user = getUser(); // getUser() will return an array
我能做到:
$email = $user["email"];
sendEmail($email);
如果没有声明变量$ email,我可以这样做:
sendEmail($user["email"]);
哪一个更好?请注意,这只是一个非常简单的例子。
答案 0 :(得分: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
答案 1 :(得分:0)
sendEmail($user["email"]);
将是更好的方式。但它不是一个没有变量编写代码的好方法。通过变量,您可以追踪实际的错误,如果有任何&它还有助于提高可扩展性和可读性。