最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php 多個變量指向同一個引用($b = &$a)用法分析

 更新時間:2019年11月13日 09:58:43   作者:傾聽歲月  
這篇文章主要介紹了php 多個變量指向同一個引用($b = &$a)用法,結合實例形式分析了PHP變量引用原理、優(yōu)缺點及相關操作技巧,需要的朋友可以參考下

本文實例講述了php 多個變量指向同一個引用($b = &$a)用法。分享給大家供大家參考,具體如下:

引用是什么?
引用就是多個變量指向同一個內存區(qū)域地址。如我們經常用的實例一個類,就是內存中開辟了一個區(qū)域存儲實例的類,實例賦值給變量就是讓這個變量指向這個內存區(qū)域。

多個變量指向同一個引用有什么好處?
節(jié)約了內存空間,多個變量指向同一個內存地址,在調用的時候多個變量都是指向的同一個內存地址。

多個變量指向同一個引用的缺點
要注意使用安全,即是由于多個變量都是指向的同一個內存地址,其中一個變量更改了某個屬性,其它的變量調用的時候都是用的已經更改的實例。

在php 中我們?yōu)橐粋€變量賦值的時候會在內存中開辟一個區(qū)域存儲該值。那么我們將這個變量賦值給另一個變量的時候會在內存中重新開辟一個區(qū)域去存儲改值嗎? 我做了如下實驗

<?php
$d = "aaa";
$c = $d;
echo $c . "<br />";
$d = "bbb";
echo $c . "<br />";
/**
 * 執(zhí)行結果是
 * aaa
 * aaa
 */
?>

看到這里 不知道你理解了沒有,創(chuàng)建的變量$d 并為之賦初始值aaa 再將$d 賦值給$c,之后輸出$c 然后更改$d的值,在輸出$c。這個實驗告訴我們,$d再給$c賦值的時候是在內存中重新開辟了一個區(qū)域的。

那么,我們怎么才能讓$d和$c 都指向一個引用呢? 查了下資料 如下方法 讓兩個變量指向同一個內存地址

<?php
$a = "123";
$b = &$a;
echo $b."<br />";
$a = "456";
echo $b;
/**
 * 運行結果如下
 * 123
 * 456
 */
?>

我更改了一下變量的名字。方便測試發(fā)現(xiàn)區(qū)別。在這里我們可以看到 $b=&$a 其中&符號的作用就是讓$b 指向的是$a的內存區(qū)域,而不是重新開辟一個區(qū)域。所以當更改$a的值的時候$b也會隨著變化。

前面我們實驗的對象是基本字符串,現(xiàn)在我們來看下類是否遵從這個規(guī)則

<?php
class Demo
{
  public $demo = "aaaa";
}
$demo1 = new Demo();
$demo2 = $demo1;
echo $demo2->demo . "<br />";
$demo1->demo = "bbbb";
echo $demo2->demo . "<br />";
/**
 * 運行結果
 * aaaa
 * bbbb
 */
?>

我這里并沒有&符號指定$demo2必須指向$demo1 的內存區(qū)域,所以關于類,當一個實例變量賦值給另一個變量的時候默認就是兩個變量指向同一個引用;

php 的引用我覺得沒有 java的好用,也許是這門語言本身還在發(fā)展,很多處理還沒有那么方便完善。 java初去基本數據類型(int、long、byte、short、char、boolean、float、double等),兩個變量賦值都是指向同一個內存地址,而且不用你特意去指定。

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總

希望本文所述對大家PHP程序設計有所幫助。

相關文章

  • php簡單創(chuàng)建zip壓縮文件的方法

    php簡單創(chuàng)建zip壓縮文件的方法

    這篇文章主要介紹了php簡單創(chuàng)建zip壓縮文件的方法,實例分析了php基于ZipArchive實現(xiàn)文件壓縮的相關技巧,需要的朋友可以參考下
    2016-04-04
  • PHP與SQL注入攻擊防范小技巧

    PHP與SQL注入攻擊防范小技巧

    SQL注入攻擊是黑客攻擊網站最常用的手段。如果你的站點沒有使用嚴格的用戶輸入檢驗,那么常容易遭到SQL注入攻擊。SQL注入攻擊通常通過給站點數據庫提交不良的數據或查詢語句來實現(xiàn),很可能使數據庫中的紀錄遭到暴露,更改或被刪除。
    2011-09-09
  • PHP中使用asort進行中文排序失效的問題處理

    PHP中使用asort進行中文排序失效的問題處理

    asort() 函數對數組進行排序并保持索引關系。主要用于對那些單元順序很重要的結合數組進行排序。可選的第二個參數包含了附加的排序標識。如果成功則返回 TRUE,否則返回 FALSE。
    2014-08-08
  • PHP設計模式之工廠模式(Factory Pattern)的講解

    PHP設計模式之工廠模式(Factory Pattern)的講解

    今天小編就為大家分享一篇關于PHP設計模式之工廠模式(Factory Pattern)的講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • php 判斷網頁是否是utf8編碼的方法

    php 判斷網頁是否是utf8編碼的方法

    這篇文章主要介紹了php 判斷網頁是否是utf8編碼的方法,需要的朋友可以參考下
    2014-06-06
  • php接口技術實例詳解

    php接口技術實例詳解

    這篇文章主要介紹了php接口技術,結合實例形式分析了php接口的基本概念、功能、定義、使用方法與相關注意事項,需要的朋友可以參考下
    2016-12-12
  • APACHE的AcceptPathInfo指令使用介紹

    APACHE的AcceptPathInfo指令使用介紹

    從APACH2.0.30以上服務器中去掉了acceptpathinfo;如果需要的話需要在http.conf中添加AcceptPathInfo On這一條
    2013-01-01
  • php實現(xiàn)首頁鏈接查詢 友情鏈接檢查的代碼

    php實現(xiàn)首頁鏈接查詢 友情鏈接檢查的代碼

    網站首頁超鏈接反查 友情鏈接查詢 外鏈查詢 ,對于其中的思路
    2010-01-01
  • ThinkPHP防止SQL注入攻擊的方法

    ThinkPHP防止SQL注入攻擊的方法

    在ThinkPHP中,參數綁定是一種安全的方式,用于處理用戶輸入,特別是在構建數據庫查詢時,參數綁定可以防止SQL注入攻擊,所以本文將給大家介紹了ThinkPHP防止SQL注入攻擊的方法,需要的朋友可以參考下
    2023-12-12
  • php上傳后臺無法收到數據解決方法

    php上傳后臺無法收到數據解決方法

    在本篇文章里小編給大家整理的是關于php無法收到數據的相關知識點內容,有需要的朋友們參考學習下。
    2019-10-10

最新評論

安福县| 拜城县| 信阳市| 怀宁县| 平武县| 五寨县| 盖州市| 阿巴嘎旗| 宝清县| 斗六市| 金塔县| 雅安市| 泸定县| 来安县| 三台县| 漾濞| 阿克陶县| 安义县| 拜泉县| 称多县| 黎平县| 文成县| 大埔区| 牡丹江市| 台北市| 临漳县| 卓尼县| 安顺市| 七台河市| 双牌县| 和政县| 长顺县| 定襄县| 贵德县| 大庆市| 卢湾区| 和静县| 连城县| 莫力| 德庆县| 九龙坡区|