<?php
$ary_1 = array('key1'=>'紅色', 'key2'=>'綠色', '黃色', '彩色');
$ary_2 = $ary_1; //僅複製值
$ary_3 = &$ary_1; //相同參考
if($ary_1 === $ary_2)
{
echo "true";
}
if($ary_1 === $ary_3)
{
echo "true";
}
//以上兩個判斷式皆是 true,我要如何判斷陣列1與陣列3 才是相同參考 而 陣列1與陣列2不是相同參考僅僅是內容相同?
?>
你可以使用 debug_zval_dump 這個函數來偵測
http://stackoverflow.com/questions/4817562/detecting-whether-a-php-variable-is-a-reference-referenced
或是以不使用 debug_zval_dump 的方式來偵測
http://stackoverflow.com/questions/21958610/how-to-check-if-variable-was-passed-by-reference-in-php
改變其中一個, 然後看另一個是否也被改變了
這裡有人提供了作法, 你參考看看
http://php.net/manual/en/language.references.spot.php#72203