首頁 >後端開發 >php教程 >PHP變數如何定義以及PHP的工作原理是什麼?

PHP變數如何定義以及PHP的工作原理是什麼?

不言
不言原創
2018-07-24 09:31:081603瀏覽

這篇文章分享給大家的內容是關於PHP變數如何定義以及PHP的工作原理是什麼,內容很有參考價值,希望可以幫到有需要的小伙伴。

1、變數定義:

通常學到的是,變數代表儲存空間以及其中資料的一個「識別碼」。

變數名稱指向變數值

更深入的說是變數指向記憶體的一塊區域

2、變數運作原理,透過畫圖分析法-記憶體空間

<?php
//php引用变量:不同变量名指向同一地址。
//定义一个变量a,此时内存开辟了一块区域,$a指向该区域。
$a = 100;
var_dump($a);    //int 100
//定义变量b,将a变量的值赋值给b,此时该区域有两个变量($a和$b)指向。
$b = $a;
var_dump($b);    //int 100
//修改$a变量的值,php变量具有Copy On Write的特性,所以会复制并重写a所指向的区域值,此时a和b分别指向不同区域。
$a = 10;
var_dump($a);    //int 10
var_dump($b);    //int 100
//------------------------------------------------------------------
$c = 100;
$d = &$c;
$c = 10;
var_dump($c);    //int 10
var_dump($d);    //int 10
//当引用指向时,php变量不在具有COW特性,且指向同一内存区域。
//* unset()只能消除变量的引用,不能删除其内存分配的空间
//------------------------------------------------------------------
/*
例题:
    写出如下程序的输出结果:
    <?php
    $data = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;];
    foreach($data as $key=>$val){
        $val = &$data[$key];
    }
    问:最终$data的值是多少?
 */
    $data = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;];
    foreach($data as $key=>$val){
        $val = &$data[$key];
        print_r($data);
    }
/*
    1.$key = 0,
      $val = &#39;a&#39;,
      $val = &$d[0] =>&#39;a&#39;
      $data = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;];
2.$key = 1,
      $val = &#39;b&#39;, =>$d[0]
      $val = &$d[1] =>&#39;b&#39;
      $data = [&#39;b&#39;,&#39;b&#39;,&#39;c&#39;];
1.$key = 2,
      $val = &#39;c&#39;, =>$d[1]
      $val = &$d[2]=>&#39;c&#39;
      $data = [&#39;b&#39;,&#39;c&#39;,&#39;c&#39;];
 */

相關推薦:

如何使用PHP實作下載的功能

PHP如何取得檔案屬性?php取得檔案屬性的方法介紹(附程式碼)

以上是PHP變數如何定義以及PHP的工作原理是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn