如果我們在一個類中定義一個數組,並使用方法來設置元素,當單獨訪問這些元素時,我似乎無法打印它們。訪問類屬性時發生意外的行爲
我已經設置了一個快速課程來演示這一點。
方法printArrayZero回報注意:陣列字符串轉換...
方法printLocal是如何我正常訪問單獨的數組元素,這似乎只是正常工作與當地的陣列。
class test
{
var $a = array();
function fillArray()
{
$this->a[0] = 'zero';
$this->a[1] = 'one';
$this->a[2] = 'two';
$this->a[3] = 'three';
$this->a[4] = 'four';
}
function printArrayZero()
{
print_r("Stored in element 0 : $this->a[0]");
}
function printLocal()
{
$t[0] = 'zero';
$t[1] = 'one';
$t[2] = 'two';
$t[3] = 'three';
$t[4] = 'four';
print_r("Stored in element 0 : $t[0]");
}
}
$測試 - > printArrayZero()返回結果
在存儲元件0:數組[0]
$測試 - > printLocal()返回結果
存儲在元素0:零
我還是比較新的面向對象,我有用程序編程PHP一段時間,我以前沒有遇到過這個問題。
在此先感謝。
對於後者,請參閱:http://docs.php.net/language.types.string.php#lang uage.types.string.parsing.complex – VolkerK
是的,我可以這樣做,但我不明白爲什麼它在本地工作,但不是通過屬性訪問時。我偶然發現了這個問題,因爲我有一個很長的字符串,它可以訪問所有內部雙引號的數組元素,程序上這工作得很好,現在看來我必須打破每個數組元素的引號。編輯 - 好吧,我看到我必須使用大括號。謝謝 – cecilli0n