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の文字列であっても、内部的にはコピーオンライトメカニズムを使用しているため、これ以上の節約にはなりません。変数の内容は、変更しない限りコピーされません。

例:

$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 に答える