Penyelesaian: 1. Gunakan kata kunci global untuk mengimport pembolehubah global dalam fungsi, sintaksnya ialah "pembolehubah global global 1, pembolehubah global 2, ..." 2. Gunakan pembolehubah super global "$GLOBALS " untuk mengakses pembolehubah Global yang ditentukan, sintaksnya ialah "$GLOBALS['nama pembolehubah global']".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Secara amnya, pembolehubah global tidak boleh digunakan dalam fungsi Tetapi kadangkala kita perlu menggunakan pembolehubah global dalam fungsi, apakah yang perlu kita lakukan?
PHP menyediakan dua penyelesaian: kata kunci global dan pembolehubah super global $GLOBALS.
Kaedah 1. Gunakan kata kunci global
<?php $a = 1; $b = 2; $c = 3; function demo(){ global $a,$b,$c; echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
untuk melihat hasil output:
$a = 1 $b = 2 $c = 3
Analisis:
Fungsikata kunci global ialah untuk mengimport pembolehubah global Gunakan bentuk global 变量1, 变量2, ...
untuk mengimport 全局变量1, 变量2...
ke dalam skop tempatan sesuatu fungsi, supaya pembolehubah global yang ditakrifkan di luar fungsi boleh digunakan di dalam fungsi. .
Anda perlu memberi perhatian kepada perkara berikut apabila menggunakan kata kunci global:
Kata kunci global hanya boleh digunakan di dalam fungsi, bukan di luar fungsi
Kata kunci global hanya boleh digunakan untuk merujuk kepada pembolehubah global di luar fungsi, dan tidak boleh ditugaskan secara langsung apabila merujuk >
Hasil output ialah:
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$GLOBALS['a']; echo '<br>$b = '.$GLOBALS['b']; echo '<br>$c = '.$GLOBALS['c']; } demo(); ?>
$a = 1 $b = 2 $c = 3
Nyatakan pembolehubah global. Selagi ia merupakan pembolehubah global yang telah muncul, ia boleh diperolehi melalui tatasusunan $GLOBALS
. $GLOBALS['变量名']
$GLOBALS
Sebab:
Apabila menggunakan kata kunci global untuk mengubah suai pembolehubah $var, ia merujuk kepada pembolehubah dengan nama yang sama di luar fungsi, dan bahagian dalam dan luar adalah dua pembolehubah yang tidak menjejaskan satu sama lain;
Dan $GLOBALS['var'] merujuk kepada pembolehubah luaran fungsi itu sendiri, iaitu pembolehubah.
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika pembolehubah global php tidak boleh digunakan dalam fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!