7

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

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

我可以:

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

在不声明变量 $email 的情况下,我可以这样做:

sendEmail($user["email"]);

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

4

2 回答 2

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
于 2013-01-25T10:55:38.123 回答
0

是啊,就是!变量创建存储区域,以便您可以使用和操作它们。如果在这种情况下未使用它,则会发生存储消耗。sendEmail($user["email"]);会是更好的方法。但它不是编写没有变量的代码的好方法。通过变量,您可以追踪实际错误(如果有),它还有助于提高可扩展性和可读性。

于 2013-01-25T10:57:55.953 回答