cari

Rumah  >  Soal Jawab  >  teks badan

Saya menulis pembolehubah global PHP dalam pandangan thinkPHP3.2.3, dan saya membuat penemuan yang menakjubkan.

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!

黄舟黄舟2770 hari yang lalu606

membalas semua(2)saya akan balas

  • 代言

    代言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.

    balas
    0
  • 大家讲道理

    大家讲道理2017-06-08 11:03:45

    Cubalah

    <?php
        $x=10;
        $y=10;
        function add() use(&$x, &$y){
            $y=$x+$y;
        }
        add();
        echo $y;
    ?>

    balas
    0
  • Batalbalas