从多行MySQL到单数组的值

时间:2019-01-23 20:57:43

标签: php mysql arrays mysqli

从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));
}

1 个答案:

答案 0 :(得分:1)

解决此问题的方法可能是使用一个foreach来遍历所有项并将它们添加到数组中:

$result = [];
foreach ($array as $a) {
    foreach($a as $item) {
        $result[] = $item;
    }
}

print_r($result);

Demo