[英]PHP multidimensional array - foreach loop showing last array
我有一個多維數組,如下所示:
$worksheet = array(
'sheet 1' => array(
'#1 sheet 1',
' #2 sheet 1',
'#3 sheet 1'
),
'sheet 2' => array(
'#1 sheet 2',
'#2 sheet 2'
),
'sheet 3' => array(
'#1 sheet 3',
'#2 sheet 3'
)
);
然后我運行PHP代碼,如下所示:
foreach($worksheet as $ws=>$value)
echo $ws.'<br/>';
{
foreach($value as $sheet=>$ivalue)
{
echo $ivalue.'<br/>';
}
}
上面的代碼將只生成最后一個數組,如下所示:
sheet 1, sheet 2, sheet 3, #1 sheet 3, #2 sheet 3
我發生了什么事:
#1 sheet 1, #2 sheet 1, #3 sheet 1, #1 sheet 2, #2 sheet 2.
修正您的語法。 echo
不在您想要的{}
內。 否則,PHP將假定您只是打算執行回顯,而不會意識到您希望執行內部循環。
修理:
foreach($worksheet as $ws=>$value)
{
echo $ws.'<br/>';
因為你犯了一個錯誤。 代碼的第二行和第三行是相反的。 代碼應該是這樣的:
foreach($worksheet as $ws=>$value)
{
echo $ws.'<br/>';
因此,您的代碼通過回聲與外部foreach
循環,然后在方括號{
包圍的“部分”中,進行另一個循環(內部foreach
)。
echo $ws.'<br/>'
應該在括號內
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.