この配列をどのように反復処理できますか?あなたがいることをしたい場合は簡単な言葉でループPHPの3次元配列
$t = array(
'grn_id' => array(
'status_id' => array(1, 2, 3, 4)
)
)
この配列をどのように反復処理できますか?あなたがいることをしたい場合は簡単な言葉でループPHPの3次元配列
$t = array(
'grn_id' => array(
'status_id' => array(1, 2, 3, 4)
)
)
の構文は、あなたが得ることができます:あなたは、各反復で1, 2, 3, 4
を取得します
foreach ($t["grn_id"]["status_id"] as $statusId)
echo $statusId;
。
foreach ($t["grn_id"] as $grn) {
foreach ($grn as $statusId) {
echo $statusId;
}
}
私は 'status_id'のような多くのキーを置くと、すべての 'status_id'キーにアクセスしたり出力したりすることができますか? –
「status_id」と「status_id2」の2つがありますか? – Andreas
はい、これらを印刷したいのですが... –
おそらくrecursive iteratorがお探しですか?
あなたは一例与え確認することができます。
<?php
$myArray = array(
0 => 'a',
1 => array('subA','subB',array(0 => 'subsubA', 1 => 'subsubB', 2 => array(0 => 'deepA', 1 => 'deepB'))),
2 => 'b',
3 => array('subA','subB','subC'),
4 => 'c'
);
$iterator = new RecursiveArrayIterator($myArray);
iterator_apply($iterator, 'traverseStructure', array($iterator));
function traverseStructure($iterator) {
while ($iterator -> valid()) {
if ($iterator -> hasChildren()) {
traverseStructure($iterator -> getChildren());
}
else {
echo $iterator -> key() . ' : ' . $iterator -> current() .PHP_EOL;
}
$iterator -> next();
}
}
?>
、出力は次のとおりです。
0 : a
0 : subA
1 : subB
0 : subsubA
1 : subsubB
0 : deepA
1 : deepB
2 : b
0 : subA
1 : subB
2 : subC
4 : c
リンクのみの回答は通常好きではありません。代わりにここにリンクしたい部分をコピーしてください。 – Andreas
あなたがこのことから期待している何を出力?また、完全な配列を見せてください。 –
'foreach'ループはネストされていますか? –
ouptut = 1 2 3 4 –