Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan pembolehubah super global PHP (tersusun dan dikongsi)

Bagaimana untuk mendapatkan pembolehubah super global PHP (tersusun dan dikongsi)

WBOY
WBOYasal
2021-10-15 18:16:333472semak imbas

Dalam artikel sebelum ini, saya membawakan anda "Fahami fungsi tanpa nama PHP dalam masa lima minit (contoh terperinci) ". lihat isu yang berkaitan dengan pembolehubah super global yang boleh dirujuk dalam fungsi saya harap ia akan membantu semua orang!

Bagaimana untuk mendapatkan pembolehubah super global PHP (tersusun dan dikongsi)

Pembolehubah super global PHP

Pembolehubah global yang ditakrifkan di luar fungsi tidak boleh dirujuk di dalam fungsi, tetapi Kadangkala anda perlu menggunakan pembolehubah global ini dalam fungsi Dalam kes ini, anda perlu menggunakan pembolehubah super global boleh dirujuk di dalam fungsi.

Beberapa pembolehubah super global dipratakrifkan dalam PHP, yang bermaksud bahawa pembolehubah itu boleh dirujuk dalam semua skop skrip. Tanpa arahan khas, pembolehubah super global boleh digunakan dalam fungsi dan kelas.

Pembolehubah super global PHP:

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_DAPAT

  • $ _FAIL

  • $_ENV

  • $_COOKIE

  • $_SESSION

Hari ini kita akan terlebih dahulu melihat beberapa pembolehubah super global yang biasa digunakan dalam kegunaan harian Seterusnya, kita akan melihat beberapa penggunaan dan ciri pembolehubah super global ini melalui beberapa contoh.

Pertama, mari kita lihat:

PHP $GLOBALS

$GLOBALS ialah Tatasusunan superglobal yang dipratentukan, yang mengandungi semua pembolehubah yang tersedia dalam skop global, dan nama pembolehubah adalah kunci tatasusunan. $GLOBALS boleh diakses daripada keseluruhan skop skrip PHP.

Contoh adalah seperti berikut:

<?php 
//定义两个全局变量,函数内部不可以访问
$a = 75; 
$b = 25;
//定义函数
function addition() 
{ 
//将全局变量变为超级全局变量,这样在函数内部就可以正常访问了
$GLOBALS[&#39;c&#39;] = $GLOBALS[&#39;a&#39;] + $GLOBALS[&#39;b&#39;]; 
}
//调用函数
addition();
//输出函数内部定义的全局变量 
echo $c; 
?>

Hasil keluaran:

Bagaimana untuk mendapatkan pembolehubah super global PHP (tersusun dan dikongsi)

$GLOBALS tidak terhad kepada mesti berada di dalam fungsi Ia boleh digunakan di mana-mana dalam atur cara. Seperti yang dapat dilihat daripada contoh di atas, pembolehubah global menjadi pembolehubah super global, supaya ia boleh diakses secara normal dalam fungsi.

global

Terdapat juga kata kunci yang dipanggil global yang hampir sama dengan $GLOBALS, yang juga boleh digunakan di dalam fungsi . Pembolehubah global ditakrifkan di luar fungsi.

Format sintaks adalah seperti berikut:

global 变量1, 变量2, ...

kata kunci global boleh diikuti oleh berbilang pembolehubah sebagai parameter dan berbilang pembolehubah dipisahkan dengan "," (koma). Pada masa yang sama, anda harus memberi perhatian kepada beberapa perkara penting apabila menggunakan global:

  • Kata kunci global tidak boleh digunakan di luar fungsi, tetapi hanya boleh digunakan di dalam fungsi; >

  • Kata kunci global hanya boleh digunakan untuk merujuk kepada pembolehubah global di luar fungsi, dan tidak boleh ditugaskan secara langsung semasa merujuk Penyata tugasan dan pengisytiharan perlu ditulis secara berasingan; >

    Gunakan kekunci global untuk memusnahkan pembolehubah di dalam fungsi Apabila mengubah suai pembolehubah dengan perkataan, pembolehubah di luar fungsi tidak terjejas.
  • Contohnya adalah seperti berikut:


Dalam contoh di atas, tiga pembolehubah ditakrifkan, tetapi hanya dua yang diubah suai oleh kata kunci global dalam pembolehubah fungsi, apakah kesannya terhadap hasil keluaran?

<?php
    $a = 1;
    $b = 2;
    $c = 3;
    function demo(){
        global $a, $b;
        echo "变量 a:".$a;
        echo "<br>变量 b:".$b;
        echo "<br>变量 c:".$c;
    }
    demo();
?>

Hasil keluaran:

Dapat dilihat bahawa hasilnya hanya mengeluarkan pembolehubah a dan b, kerana kata kunci global hanya diubah suai dalam fungsi Terdapat dua, jadi pembolehubah c tidak berjaya digunakan. Bagaimana untuk mendapatkan pembolehubah super global PHP (tersusun dan dikongsi)

Melalui dua contoh, kita dapat melihat bahawa berbanding dengan global, $GLOBALS mempunyai perbezaan berikut:

global $ merujuk kepada pembolehubah dengan nama yang sama di luar fungsi Rujukan ialah dua pembolehubah yang tidak mempengaruhi satu sama lain, manakala $GLOBALS[] merujuk kepada pembolehubah luaran fungsi itu sendiri, iaitu pembolehubah.
  • $GLOBALS tidak terhad untuk digunakan di dalam fungsi dan boleh digunakan di mana-mana dalam program.
PHP $_SERVER

PHP $_SERVER ialah tatasusunan, $_SERVER mengandungi maklumat Pengepala, laluan, lokasi skrip dan maklumat lain. Item dalam tatasusunan ini dicipta oleh pelayan web. Pelayan mungkin mengabaikan beberapa, dan tidak semua item mungkin tersedia pada setiap pelayan.

Biar saya berikan anda contoh cara menggunakan PHP $_SERVER:

Output hasil

<?php 
//输出当前脚步的文件名
echo "<h3>输出当前脚步的文件名</h3>";
echo $_SERVER[&#39;PHP_SELF&#39;];
echo "<hr/>";
//当前脚步所在服务器的主机名
echo "<h3>当前脚步所在服务器的主机名</h3>";
echo $_SERVER[&#39;SERVER_NAME&#39;];
echo "<hr/>";
//当前请求头中 Host
echo "<h3>当前请求头中 Host</h3>";
echo $_SERVER[&#39;HTTP_HOST&#39;];
echo "<hr/>";
//引导用户代理到当前页的前一页的地址(如果存在)
echo "<h3>引导用户代理到当前页的前一页的地址(如果存在)</h3>";
echo $_SERVER[&#39;HTTP_REFERER&#39;];
echo "<hr/>";
//用来检查浏览页面的访问者在用什么操作系统
echo "<h3>用来检查浏览页面的访问者在用什么操作系统</h3>";
echo $_SERVER[&#39;HTTP_USER_AGENT&#39;];
echo "<hr/>";
//包含当前脚本的路径
echo "<h3>包含当前脚本的路径</h3>";
echo $_SERVER[&#39;SCRIPT_NAME&#39;];
?>


kepada semua orang Kongsi, elemen yang lebih penting dalam pembolehubah $_SERVER: Bagaimana untuk mendapatkan pembolehubah super global PHP (tersusun dan dikongsi)

    ---Nama fail skrip yang sedang dilaksanakan, berkaitan dengan akar dokumen.
  • $_SERVER['PHP_SELF']

  • ---Versi spesifikasi CGI yang digunakan oleh pelayan.
  • $_SERVER['SERVER_ADDR']---Alamat IP pelayan tempat skrip sedang dijalankan.

  • $_SERVER['SERVER_NAME']---Nama hos pelayan tempat skrip sedang dijalankan.

  • $_SERVER['SERVER_SOFTWARE']---Rentetan pengenalan pelayan, diberikan dalam maklumat pengepala semasa membalas permintaan.

  • $_SERVER['SERVER_PROTOCOL']---Nama dan versi protokol komunikasi apabila meminta halaman.

  • $_SERVER['REQUEST_METHOD']---Kaedah permintaan yang digunakan untuk mengakses halaman.

  • $_SERVER['REQUEST_TIME']---Cap masa apabila permintaan dimulakan. Tersedia sejak PHP 5.1.0.

  • $_SERVER['QUERY_STRING']---rentetan pertanyaan (rentetan pertanyaan), jika ada, gunakannya untuk mengakses halaman.

  • $_SERVER['HTTP_ACCEPT']---Kandungan item Terima: dalam pengepala permintaan semasa, jika wujud.

  • $_SERVER['HTTP_ACCEPT_CHARSET']---Kandungan Accept-Charset: item dalam pengepala permintaan semasa, jika ia wujud.

  • $_SERVER['HTTP_HOST']---Kandungan Hos: item dalam pengepala permintaan semasa, jika wujud.

  • $_SERVER['HTTP_REFERER']---Arahkan ejen pengguna ke alamat halaman sebelumnya halaman semasa (jika ada).

  • $_SERVER['HTTPS']---Jika skrip diakses melalui protokol HTTPS, ia ditetapkan kepada nilai bukan kosong.

  • $_SERVER['REMOTE_ADDR']---Alamat IP pengguna yang menyemak imbas halaman semasa.

  • $_SERVER['REMOTE_HOST']---Nama hos pengguna yang menyemak imbas halaman semasa. Resolusi terbalik DNS tidak bergantung pada REMOTE_ADDR pengguna.

  • $_SERVER['REMOTE_PORT']---Nombor port yang digunakan pada mesin pengguna untuk menyambung ke pelayan web.

  • $_SERVER['SCRIPT_FILENAME']---Laluan mutlak skrip yang sedang dilaksanakan.

  • $_SERVER['SERVER_ADMIN']---Nilai ini menentukan parameter SERVER_ADMIN dalam fail konfigurasi pelayan Apache. Jika skrip berjalan pada hos maya, nilai ini adalah nilai hos maya itu.

  • $_SERVER['SERVER_PORT']---Port yang digunakan oleh pelayan Web. Nilai lalai ialah "80". Jika menggunakan sambungan selamat SSL, nilai ini ialah port HTTP yang ditetapkan oleh pengguna.

  • $_SERVER['SERVER_SIGNATURE']---Rentetan yang mengandungi versi pelayan dan nama hos maya.

  • $_SERVER['PATH_TRANSLATED']---Laluan asas sistem fail (bukan direktori akar dokumen) di mana skrip semasa berada. Ini adalah hasil selepas pelayan telah diimejkan daripada laluan maya kepada sebenar.

  • $_SERVER['SCRIPT_NAME']---Mengandungi laluan skrip semasa. Ini berguna apabila halaman perlu menghala ke dirinya sendiri. Pemalar __FILE__ mengandungi laluan penuh dan nama fail skrip semasa (seperti fail sertakan).

  • $_SERVER['SCRIPT_URI']---URI digunakan untuk menentukan halaman yang hendak diakses. Contohnya "/index.html".

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan pembolehubah super global PHP (tersusun dan dikongsi). 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