从MySQL数据库中获取多行数据,然后尝试将结果转换为单个数组。由于数据来自自定义函数,在该函数中进行修改会破坏许多其他内容,因此我无法更改获取数据的方式,因此必须在使用PHP检索后进行处理。这是一个示例:
Array
(
[0] => Array
(
[FieldLabel] =>
[FieldName] => ID
[FieldValue] => $ID
[FieldType] => 0
)
[1] => Array
(
[FieldLabel] => Name
[FieldName] => Name
[FieldValue] => $FieldName
[FieldType] => 1
)
)
仅在单个数组中查找所有值,但要填充变量的情况是这样的:
Array('','ID',$ID,0,'Name','Name',$FieldName,1)
我在另一篇文章中发现了这个小功能,似乎可以租用它创建数组,但不幸的是,它并没有,而且我对数组操作的了解还不足以对其进行整理。有什么想法吗?
function array2Recursive($array) {
$lst = array();
foreach( array_keys($array) as $k ) :
$v = $array[$k];
if (is_scalar($v)) :
$lst[] = $v;
elseif (is_array($v)) :
$lst = array_merge($lst,array2Recursive($v));
endif;
endforeach;
return array_values(array_unique($lst));
}
答案 0 :(得分:1)
解决此问题的方法可能是使用一个foreach来遍历所有项并将它们添加到数组中:
$result = [];
foreach ($array as $a) {
foreach($a as $item) {
$result[] = $item;
}
}
print_r($result);