Php 在循环中合并数组
我正在使用array\u merge将三维数组合并为二维数组 当我将五个键合并到一个数组中时,我会得到所需的结果Php 在循环中合并数组,php,arrays,Php,Arrays,我正在使用array\u merge将三维数组合并为二维数组 当我将五个键合并到一个数组中时,我会得到所需的结果 $result = array_merge($records[0], $records[1], $records[2], $records[3], $records[4]); 但是,我可能有2把钥匙,或者10把。我不能有这样的静态代码 我当然可以使用下面的代码来获取有多少个键: $count = count($records); 但是我如何使用它来构建一个数组合并,以便它包含所有
$result = array_merge($records[0], $records[1], $records[2], $records[3], $records[4]);
但是,我可能有2把钥匙,或者10把。我不能有这样的静态代码
我当然可以使用下面的代码来获取有多少个键:
$count = count($records);
但是我如何使用它来构建一个数组合并,以便它包含所有适当的键呢?ie:如果有四个,很好,它将生成与上面相同的代码,但是如果有三个,它将只执行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]);
提前谢谢你提出这个愚蠢的问题。我知道这很简单
/**
* 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;
}
这个函数应该对您有所帮助。它将多维数组转换为一维数组
资料来源: 这个函数应该对您有所帮助。它将多维数组转换为一维数组
资料来源:
$records
的值是多少?$records
的值是多少?
$result = [];
foreach ($records as $record) {
$result = array_merge($result, $record);
}