Значения от многострочного MySQL до одного массива - PullRequest
0 голосов
/ 23 января 2019

Извлечение многострочных данных из базы данных 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 голосов
/ 24 января 2019

На пути к решению этой проблемы может быть использование foreach для циклического перебора элементов и добавления их в массив:

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

print_r($result);

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...