我覺得我正在失去主意。PHP - 關聯數組中的回聲值
<?php
print_r($roc_option);
?>
打印出這樣的:
陣列([ '類'] => classnew1 [ 'ID'] => idnew1)
但隨後,在下一行,
<?php
echo $roc_option['class'];
?>
打印出任何東西。
任何想法是怎麼回事?
上下文: 這發生在一個foreach循環中。 循環外的類似構造,echo $roc_options[0]['class'];
同樣沒有提供。 (大量的調試污物的加入,以保持箱理智)
EDIT
完整上下文
代碼
echo "ln1 -- <br>";
print_r(array_values($roc_options));
echo "<br><br>ln2 -- <br>";
print_r(array_values($roc_options[0]));
echo "<br><br>ln3a -- <br>";
echo $roc_options[0]['class'];
echo "<br><br>ln3b -- <br>";
echo $roc_options[0][0];
foreach ($roc_options as $roc_option){
echo "<br>inside foreach <br>";
echo "<br><br>ln4 -- <br>";
print_r($roc_option);
echo "<br><br>ln5 -- <br>";
echo $roc_option[0];
輸出
LN1 - 陣列([0] = > Array(['class'] => classnew1 ['id'] => idnew1 ))
LN2 - 陣列([0] => classnew1 [1] => idnew1)
ln3a -
ln3b -
內部的foreach
LN4 - 陣列( [ '類'] => classnew1 [ 'ID'] => idnew1)
LN5 -
我不明白爲什麼3a,3b和5都是空的。
IT推移和
我切換到var_dumps,被迫在一些新的名字,只是爲了確保表格被正確保存...
CODE:
var_dump($roc_options);
echo "ln1 -- <br>";
print_r(array_values($roc_options));
echo "<br><br>ln2 -- <br>";
print_r(array_values($roc_options[0]));
echo "<br><br>ln3a -- <br>";
var_dump($roc_options[0]['class']);
echo "<br><br>ln3b -- <br>";
var_dump($roc_options[0][0]);
foreach ($roc_options as $roc_option){
echo "<br>inside foreach <br>";
echo "<br><br>ln4 -- <br>";
print_r($roc_option);
echo "<br><br>ln5 -- <br>";
var_dump($roc_option[0]);
echo "<br><br>ln6 -- <br>";
var_dump($roc_option['class']);
echo "<br><br>ln7 -- <br>";
var_dump($roc_option["id"]);
輸出
陣列(1){[0] =>數組(2){[ 「 '類'」] =>串(9)「新類[['''id'「] => string(6)」new id「}} ln1 - Array([0] => Array(['class'] => new class ['id'] =>新的ID ))
LN2 - 陣列([0] =>新類[1] =>新的ID)
ln3a - NULL
ln3b - NULL內部的foreach
LN4 - 陣列([ '類'] =>新類[ 'ID'] =>新的ID)
LN5 - NULL
LN6 - NULL
LN6 - NULL
通知LN4 --- $ roc_option是一個包含兩個項目的數組。 然後查看5-7 我無法用數字索引或鍵名得到數值,無論是單引號還是雙引號。 (當我嘗試不帶引號可言,頁面沒有加載)。
你可以發佈你的foreach循環代碼嗎? – aldrin27
我們需要更多代碼來猜測可能來自哪裏 –
您的'print_r()'輸出缺少逗號和引號等內容,因此沒有任何意義。不要編輯輸出,把它放在你的問題中,因爲它看起來沒有任何感應器 – RiggsFolly