echo
melakukan output SEGERA. Jika Anda mencoba menggemakan fungsi yang melakukan gema sendiri, gema fungsi akan dijalankan PERTAMA. misalnya
function foo() {
echo 'foo';
}
echo 'bar' . foo(); // output foobar
dan dijalankan sebagai setara dengan
echo 'foo';
echo 'bar';
Mengapa? Karena echo
pertama harus membangun string yang menjadi output. Jadi sebelum bar
dapat digaungkan, gema induk harus memanggil foo()
. Fungsi itu tidak mengembalikan apa pun, ia hanya melakukan gemanya sendiri. beberapa echo
panggilan tidak berkoordinasi satu sama lain, jadi gema foo melakukan outputnya. lalu foo tidak mengembalikan apa pun ke echo induk, jadi Anda melakukan echo 'bar' . null
, dan keluaran bar
.
Jika Anda memiliki ini:
function bar() {
return 'bar';
}
echo 'foo' . bar();
itu akan bekerja seperti yang diharapkan. Urutan eksekusinya adalah:
$temp = bar(); // $temp gets string'bar'
echo 'foo' . $temp;
echo 'foo' . 'bar';
echo 'foobar';
-> output foobar