Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menggunakan pembolehubah luaran dalam kaedah dalam php

Bagaimana untuk menggunakan pembolehubah luaran dalam kaedah dalam php

青灯夜游
青灯夜游asal
2022-04-24 15:57:323650semak imbas

Kaedah: 1. Gunakan kata kunci global dan gunakan pernyataan "nama pembolehubah luaran global;" dalam kaedah untuk mengimport pembolehubah luaran 2. Gunakan pembolehubah "$GLOBALS" dan gunakan terus "$ dalam kaedah GLOBALS['a']" pernyataan boleh merujuk kepada pembolehubah luaran; 3. Gunakan pemindahan nilai untuk menghantar pembolehubah luaran sebagai parameter.

Bagaimana untuk menggunakan pembolehubah luaran dalam kaedah dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Hari ini saya menulis program menggunakan asli tulen Kaedah PHP, apabila anda ingin memanggil pembolehubah global luaran, hasilnya: sama ada ralat dilaporkan, atau tiada output?

Mari kita bincangkan tentang sebab dan penyelesaian:

Skop pembolehubah

Dalam kaedah (fungsi) yang ditentukan pengguna, skop fungsi Tempatan akan diperkenalkan. Sebarang pembolehubah yang digunakan di dalam fungsi akan dihadkan kepada skop fungsi setempat secara lalai. Contohnya:

<?php
$a = 1; /* global scope */

function Test()
{
    echo $a; /* reference to local scope variable */
}

Test();
?>

Skrip ini tidak akan menghasilkan keluaran kerana pernyataan gema merujuk kepada versi tempatan pembolehubah $a dan ia tidak diberikan nilai dalam skop ini.

Anda mungkin perasan bahawa pembolehubah global PHP sedikit berbeza daripada bahasa C, pembolehubah global secara automatik berkuat kuasa dalam fungsi melainkan ditindih oleh pembolehubah tempatan. Ini mungkin menyebabkan beberapa masalah, seseorang mungkin secara tidak sengaja menukar pembolehubah global. Pembolehubah global dalam PHP mesti diisytiharkan global apabila digunakan dalam fungsi.

Penyelesaian pertama: kata kunci global---isytiharkan pembolehubah di luar fungsi secara global dalam fungsi

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
	global $a,$b,$c;
    echo &#39;$a = &#39;.$a;
    echo &#39;<br>$b = &#39;.$b;
    echo &#39;<br>$c = &#39;.$c;
}
demo();
?>

Lihat output:

Bagaimana untuk menggunakan pembolehubah luaran dalam kaedah dalam php

Analisis: Peranan

kata kunci global adalah untuk mengimport pembolehubah global dan menggunakan bentuk global 变量1, 变量2, ... untuk mengimport 全局变量1, 变量2... ke dalam fungsi Dalam tempatan skop, 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 >

  • dalam fungsi Apabila pembolehubah yang diubah suai dengan kata kunci global dimusnahkan secara dalaman, pembolehubah di luar fungsi tidak terjejas.
Penyelesaian kedua: gunakan pembolehubah super global $GLOBALS

Hasil output ialah:
<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo &#39;$a = &#39;.$GLOBALS[&#39;a&#39;];
    echo &#39;<br>$b = &#39;.$GLOBALS[&#39;b&#39;];
    echo &#39;<br>$c = &#39;.$GLOBALS[&#39;c&#39;];
}
demo();
?>

Bagaimana untuk menggunakan pembolehubah luaran dalam kaedah dalam php Analisis:

ialah sejenis pembolehubah yang dipratentukan (juga dipanggil pembolehubah super global), iaitu tatasusunan gabungan global yang mengandungi semua pembolehubah Nama pembolehubah ialah kunci tatasusunan Anda boleh menggunakan borang

untuk mengakses pembolehubah global yang ditentukan. Selagi ia merupakan pembolehubah global yang telah muncul, ia boleh diperolehi melalui tatasusunan $GLOBALS. $GLOBALS['变量名']$GLOBALS

Perbezaan antara global dan $GLOBALS

    global hanya boleh digunakan di dalam fungsi, bukan di luar fungsi manakala $GLOBALS boleh digunakan dalam program Ia boleh digunakan di mana-mana (fungsi dalam dan luar).
  • Apabila pembolehubah yang diubah suai dengan kata kunci global dimusnahkan di dalam fungsi, pembolehubah di luar fungsi tidak terjejas;
  • 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 ialah dua pembolehubah yang tidak menjejaskan satu sama lain;

    Dan $GLOBALS['var'] merujuk kepada pembolehubah luaran fungsi itu sendiri, iaitu pembolehubah.

Penyelesaian ketiga: hantar pembolehubah luaran fungsi ke dalam parameter

<?php  
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$mytext="PHP中文网";

function chao_echo($mytext){
    echo $mytext;
}

chao_echo($mytext);
?>

Bagaimana untuk menggunakan pembolehubah luaran dalam kaedah dalam php Disyorkan pembelajaran: "

Tutorial Video PHP

"

Atas ialah kandungan terperinci Bagaimana untuk menggunakan pembolehubah luaran dalam kaedah dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php怎么替换nbsp空格符Artikel seterusnya:php算不算脚本语言