从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));
}
解决此问题的方法可能是使用 foreach 遍历项目并将它们添加到数组中:
$result = [];
foreach ($array as $a) {
foreach($a as $item) {
$result[] = $item;
}
}
print_r($result);
演示