如果你有一個多維數組,你需要使用遞歸函數。
一個例子可能是這個
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;
}
上述功能,給定的陣列等
$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);
將返回這樣
// $output
[
"one",
"two",
"A",
"B",
"C",
"X",
"Y",
"Z",
"five",
"sub_one",
"sub_two",
"sub_A",
"sub_B",
"sub_C",
"seven"
]
扁平陣列可能會發現值結果數組中省略了「三」和「六」,因爲它們是關鍵,但是如果要包含它們只需取消註釋// $ output [] = $ key;在函數中。
一旦你有了這個數組,你可以循環使用foreach。 這可能不是你所需要的,但應該給你一個方向。
_這可能是$ thisStuff中有另一個數組嗎?_是的。 'print_r($ thing);' – AbraCadaver
我做過了,它帶有一堆其他數組。那麼,我將如何構建這些數據呢?這是我很困惑,因爲我從來沒有真正使用嵌套數組。 – ultraloveninja
可能重複的[多維數組的PHP foreach](https://stackoverflow.com/questions/6413589/php-foreach-with-multidimensional-array) –