我使用array_merge将三维数组合并为二维数组。
当我有五个键合并到一个数组中时,我得到了我需要的结果。
$result = array_merge($records[0], $records[1], $records[2], $records[3], $records[4]);
但是,我可能有2个键,或者10.我不能有这样的静态代码。
我当然可以使用下面的代码来获取有多少个键:
$count = count($records);
但是,我如何使用它来构建一个数组合并,以便它包含所有适当的键?即:如果有四个,那么它会生成与上面相同的代码,但是如果有3则那么它将会执行0,1,2。
如果有3个键:
$result = array_merge($records[0], $records[1], $records[2]);
如果有8个键:
$result = array_merge($records[0], $records[1], $records[2], $records[3], $records[4], $records[5], $records[6], $records[7]);
提前感谢这个愚蠢的问题。我知道这很简单!!
答案 0 :(得分:0)
/**
* Convert a multi-dimensional array into a single-dimensional array.
* @author Sean Cannon, LitmusBox.com | seanc@litmusbox.com
* @param array $array The multi-dimensional array.
* @return array
*/
function array_flatten($array) {
if (!is_array($array)) {
return false;
}
$result = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$result = array_merge($result, array_flatten($value));
} else {
$result[$key] = $value;
}
}
return $result;
}
这个功能可以帮到你。它将多维数组转换为一维数组。
答案 1 :(得分:0)
rowproxy