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