Rumah > Soal Jawab > teks badan
Menggunakan rangka kerja thinkPHP3.2.3, saya menulis kod yang sangat mudah dalam paparan. Akhiran fail paparan ini ialah .html
<?php
$x=10;
$y=10;
function add(){
global $x,$y;
$y=$x+$y;
}
add();
echo $y;
?>
Hasil gema ialah 10. Saya tidak faham hasilnya sepatutnya 20. Saya hanya menulisnya semula jika saya tidak percaya, dan ia masih 10. Saya memikirkannya dan menulisnya ke dalam fail php yang berasingan, dan hasilnya ialah 20. kenapa ni? Adakah pandangan dalam thinkPHP tidak menyokong sintaks PHP? Tolong beri saya nasihat!
代言2017-06-08 11:03:45
Jelas sekali $x, $y di sini bukan pembolehubah global.
Jadi $x global, $y dalam fungsi tidak merujuk kepada x, y di atas
Jika anda melihat fail templat yang disusun, anda akan mendapati bahawa kod ini harus disertakan dalam fungsi.
大家讲道理2017-06-08 11:03:45
Cubalah
<?php
$x=10;
$y=10;
function add() use(&$x, &$y){
$y=$x+$y;
}
add();
echo $y;
?>