首页  >  文章  >  后端开发  >  PHP变量如何定义以及PHP的工作原理是什么?

PHP变量如何定义以及PHP的工作原理是什么?

不言
不言原创
2018-07-24 09:31:081575浏览

这篇文章分享给大家的内容是关于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