Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi untuk memusnahkan pembolehubah dalam php

Cara menggunakan fungsi untuk memusnahkan pembolehubah dalam php

醉折花枝作酒筹
醉折花枝作酒筹asal
2021-08-06 11:15:511704semak imbas

Dalam artikel sebelum ini, kami telah mempelajari tentang kaedah penyahserikatan objek atau tatasusunan Jika anda memerlukannya, sila baca "Bagaimana PHP Menyahseri Tatasusunan dan Objek". Kali ini kami akan memperkenalkan kepada anda cara menggunakan fungsi untuk memusnahkan pembolehubah Anda boleh merujuknya jika anda memerlukannya.

Sebelum memulakan artikel, mari kita lihat dahulu apakah kemusnahan pembolehubah.

Pemusnahan pembolehubah atau objek PHP boleh dibahagikan kepada pemusnahan eksplisit dan pemusnahan tersirat:

1 Pemusnahan eksplisit, apabila objek tidak dirujuk, ia akan dimusnahkan, jadi Kita boleh menyahset atau menetapkan NULL padanya;

Apa yang akan kami perkenalkan hari ini tidak ditetapkan dalam kemusnahan yang jelas.

Mari kita lihat sedikit berangan dahulu.

Hasilnya ialah
<?php
class Human { 
  public $name = &#39;张三&#39;; 
  public $gender = null; 
  public function __destruct() { 
      echo &#39;结束!<br />&#39;; 
  } 
} 
$a = new Human(); 
$b = $c = $d = $a;
unset($a);
$d=null;


echo &#39;<hr />&#39;;
var_dump($a);
echo &#39;<hr />&#39;;
var_dump($b);
echo &#39;<hr />&#39;;
var_dump($c);
echo &#39;<hr />&#39;;
var_dump($d);
?>

Cara menggunakan fungsi untuk memusnahkan pembolehubah dalam phpTanpa berlengah lagi, mari kita lihat fungsi ini.


Fungsi unset() digunakan untuk memusnahkan pembolehubah yang diberikan.

Jadi unset() sebenarnya tidak memusnahkan nilai memori dalam pembolehubah Ia hanya memutuskan hubungan antara pembolehubah dan memori dan mengalih keluar nama pembolehubah Walau bagaimanapun, selagi memori masih dirujuk. ia tidak akan dikeluarkan; dalam PHP, nilai objek diluluskan secara rujukan secara lalai, yang juga menerangkan bahawa dalam kelas

, $a digantikan dengan

, tetapi Human masih mempunyai nilai. unset()$b =$c = $dMari kita lihat sintaks fungsi ini.

Jika unset() ialah pembolehubah global dalam fungsi, hanya pembolehubah tempatan dimusnahkan dan pembolehubah dalam persekitaran panggilan akan mengekalkan nilai yang sama seperti sebelum memanggil unset().
void unset (要销毁的变量)

Jika unset() ialah pembolehubah yang diluluskan oleh rujukan dalam fungsi, hanya pembolehubah tempatan dimusnahkan dan pembolehubah dalam persekitaran panggilan akan mengekalkan nilai yang sama seperti sebelum memanggil unset().

Jika unset() ialah pembolehubah statik dalam fungsi, pembolehubah statik akan dimusnahkan dalam fungsi tersebut. Walau bagaimanapun, apabila fungsi ini dipanggil semula, pembolehubah statik akan dipulihkan kepada nilai yang ada sebelum ia dimusnahkan kali terakhir.

Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →

tutorial video php

Atas ialah kandungan terperinci Cara menggunakan fungsi untuk memusnahkan pembolehubah 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