あなたは多次元配列を持っている場合は、再帰関数を使用する必要があります。
例では、値ことに気づくことができる。この
// $output
[
"one",
"two",
"A",
"B",
"C",
"X",
"Y",
"Z",
"five",
"sub_one",
"sub_two",
"sub_A",
"sub_B",
"sub_C",
"seven"
]
ようなフラット配列を返す
$array = array(
"one",
"two",
"three" => array("A","B","C"),
"four" => array("X","Y","Z"),
"five",
"six" => array(
"sub_one",
"sub_two",
"sub_three" => array("sub_A","sub_B","sub_C")
),
"seven"
);
$output = unfoldArray($array);
様配列を指定し、上記関数この
function unfoldArray($array,$output = array()) {
if(is_object($array)) {
$array = (array)$array;
}
foreach($array as $key => $value) {
if(is_array($value) || is_object($value)) {
//$output[] = $key;
$output = unfoldArray($value,$output);
} else {
$output[] = $value;
}
}
return $output;
}
かもしれません"three"と "six"はキーであるため結果配列から省略されますが、それらを含めることができない場合// $ output [] = $ key;行のコメントを外してください。関数内にあります。
この配列を作成したら、foreachを使用してループすることができます。 これはあなたが必要とするものではないかもしれませんが、あなたに指示に従うべきです。
$ thisStuff内に別の配列が存在する可能性がありますか?_はい。 'print_r($ thing);' – AbraCadaver
私はやりましたが、それは他の配列の束と一緒に戻ってきます。だから、私はどのようにそのデータを構造化するだろうか?それはネストされた配列を実際に使ったことがないので、私が混乱していることです。 – ultraloveninja
[多次元配列のPHP foreach](https://stackoverflow.com/questions/6413589/php-foreach-with-multidimensional-array)の可能な複製 –