PHP tidak ditetapkan()

王林
王林asal
2024-08-29 12:53:091197semak imbas

Artikel berikut menyediakan garis besar tentang PHP unset(). Operasi utama kaedah unset() adalah untuk memusnahkan pembolehubah yang ditentukan sebagai hujah input untuknya. Dalam erti kata lain, ia melakukan operasi set semula pada pembolehubah yang dipilih. Walau bagaimanapun, tingkah lakunya boleh berbeza-beza bergantung pada jenis pembolehubah yang disasarkan untuk dimusnahkan. Fungsi ini disokong oleh versi PHP4 dan seterusnya.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks PHP unset()

unset(mixed $selectedvar, mixed $selectedvar1,….., mixed $selectedvarN): void
  • selectedvar: Argumen mandatori untuk kaedah unset(). Sekurang-kurangnya satu pembolehubah untuk dinyahtetapkan, perlu diberikan sebagai argumen input untuk kaedah.
  • selectedvarN: Parameter pilihan yang boleh diberikan sebagai argumen input, untuk menyahset() kaedah untuk menetapkannya semula.

Gunakan Kes untuk unset()

Diberikan di bawah adalah kes yang berbeza:

1. Menggunakan unset() untuk pembolehubah tempatan

Apabila pembolehubah tempatan diserahkan kepada fungsi tidak ditetapkan, fungsi itu menetapkan semula pembolehubah.

Contoh:

Kod:

<?php
$input = "I have value!!!";
echo "The value of 'input' before unset: " . $input . "<br>";
unset($input); //Applying unset() method on $input variable
echo "The value of 'input' after unset: " . $input;
?>

Output:

Nilai yang terkandung dalam 'input' pembolehubah dimusnahkan semasa melaksanakan kaedah unset().

PHP tidak ditetapkan()

2. Menggunakan unset untuk pembolehubah di dalam fungsi yang merupakan pembolehubah global

Apabila pengguna cuba menggunakan Unset untuk pembolehubah dalam fungsi dan ia juga ditakrifkan sebagai pembolehubah global, maka unset() menetapkan semula pembolehubah setempat sahaja. Yang global kekal tidak terjejas.

Contoh:

Kod:

<?php
function Afunction()
{
$Avariable = 'local value';
echo "Within the function scope before unset: ".$Avariable."<br>";
global $Avariable;
unset($Avariable); //Deletes the local ‘Avariable’
echo "Within the function scope after unset:  ".$Avariable."<br>";
}
$Avariable = 'Global Value'; //The global ‘Avariable’
echo "Out of the function scope before unset:  ".$Avariable."<br>";
Afunction();
echo "Out of the function scope after unset: ".$Avariable."<br>";
?>

Output:

Versi tempatan pembolehubah 'Avariable' dimusnahkan manakala versi global kekal utuh.

PHP tidak ditetapkan()

3. Menggunakan unset untuk pembolehubah global dalam fungsi

Jika pembolehubah dalam fungsi juga diisytiharkan sebagai pembolehubah global dan pengguna perlu memusnahkan pembolehubah global, maka ia boleh dicapai menggunakan tatasusunan[$GLOBAL].

Contoh:

Kod:

<?php
function Afunction()
{
$Avariable = 'local value';
echo "Within the function scope before unset: ".$Avariable."<br>";
global $Avariable;
unset($GLOBALS['Avariable']); //Resets the global ‘Avariable’
echo "Within the function scope after unset:  ".$Avariable."<br>";
}
$Avariable = 'Global Value';
echo "Out of the function scope before unset:  ".$Avariable."<br>";
Afunction();
echo "Out of the function scope after unset: ".$Avariable."<br>";
?>

Output:

Versi tempatan pembolehubah 'Avariable' tidak dipengaruhi oleh pelaksanaan fungsi yang tidak ditetapkan manakala versi global pembolehubah ditetapkan kepada nilai nol.

PHP tidak ditetapkan()

4. Menggunakan unset() untuk pembolehubah rujukan lulus

Jika unset() dipanggil pada pembolehubah yang dihantar ke fungsi sebagai rujukan, unset() hanya menetapkan semula yang setempat. Contoh pembolehubah dalam persekitaran panggilan kekal seperti sedia ada.

Contoh:

Kod:

<?php
function Afunction(&$Avariable) //’Avariable’ is the pass by reference
{
$Avariable = 'Internal value';
echo "Within the function scope before unset: ".$Avariable."<br>";
unset($Avariable); //Resets the local ‘Avariable’
echo "Within the function scope after unset:  ".$Avariable."<br>";
}
$Avariable = 'External Value';
echo "Out of the function scope before unset:  ".$Avariable."<br>";
Afunction($Avariable);
echo "Out of the function scope after unset: ".$Avariable."<br>";
?>

Output:

Kaedah unset() yang dipanggil dalam pass by reference variable 'Avariable' hanya menetapkan semula kandungan pembolehubah dalam skop setempat tanpa menjejaskan kandungan dari skop luaran.

PHP tidak ditetapkan()

5. Menggunakan unset() untuk pembolehubah statik

Apabila pembolehubah statik ditetapkan sebagai argumen input kepada kaedah unset(), pembolehubah akan ditetapkan semula untuk perintah yang tinggal dalam skop fungsi selepas fungsi unset() dipanggil.

Contoh:

Kod:

<?php
function UnsetStatic()
{
static $staticvar;
$staticvar++;
echo "Before unset() method is called: $staticvar"."<br>";
//Deletes ‘staticvar’ only for the below commands within the scope of this ‘UnsetStatic’ function
unset($staticvar);
echo "after unset() method is called: $staticvar"."<br>";
}
UnsetStatic();
UnsetStatic();
UnsetStatic();
?>

Output:

Pembolehubah 'staticvar' ditetapkan semula hanya untuk arahan yang diikuti selepas kaedah unset() dipanggil.

PHP tidak ditetapkan()

6. Menggunakan unset() pada elemen tatasusunan

Aplikasi kaedah unset() pada elemen tatasusunan memadamkan elemen daripada tatasusunan tanpa mempamerkan operasi pengindeksan semula.

Contoh:

Kod:

<?php
$arrayinput = [0 => "first", 1 => "second", 2 => "third"];
Echo "The array elements, before unset:"."<br>";
Echo $arrayinput[0]."  ". $arrayinput[1]."  ". $arrayinput[2]."  "."<br>";
//Unset operation is called on the second element of the array ‘arrayinput’
unset($arrayinput[1]);
Echo "The array elements, after unset:"."<br>";
Echo $arrayinput[0]."  ". $arrayinput[1]."  ". $arrayinput[2]."  ";
?>

Output:

PHP tidak ditetapkan()

7. Menggunakan unset() pada lebih daripada satu elemen pada satu masa

Kaedah unset() menyokong pemadaman berbilang pembolehubah serentak.

Contoh:

Kod:

<?php
$input1 = "I am value1";
$input2 = "I am value2";
$input3 = "I am value3";
echo "The value of 'input1' before unset:  " . $input1 . "<br>";
echo "The value of 'input2' before unset:  " . $input2 . "<br>";
echo "The value of 'input3' before unset:  " . $input3 . "<br>";
echo "<br>";
//Reseting input1, input2 and input3 together in single command
unset($input1,$input2,$input3);
echo "The value of 'input1' after unset:  " . $input1."<br>";
echo "The value of 'input2' after unset:  " . $input2."<br>";
echo "The value of 'input3' after unset:  " . $input3."<br>";
?>

Output:

PHP tidak ditetapkan()

Nota: Penghantaran (tidak ditetapkan) tidak sama dengan fungsi unset(). (unset)casting hanya digunakan sebagai cast jenis NULL manakala kaedah unset() mengubah pembolehubah. unset() ialah binaan bahasa dan oleh itu tidak disokong oleh fungsi pembolehubah. kaedah unset() boleh digunakan untuk menetapkan semula sifat objek yang boleh dilihat dalam skop semasa kecuali pembolehubah '$this' dalam mana-mana kaedah objek. Untuk melaksanakan operasi tidak ditetapkan pada sifat objek yang tidak boleh diakses dalam skop semasa, kaedah lebihan beban __unset() perlu diisytiharkan dan dipanggil.

Atas ialah kandungan terperinci PHP tidak ditetapkan(). 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 MD5()Artikel seterusnya:PHP MD5()