>  기사  >  백엔드 개발  >  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으로 문의하세요.