В PHP функция fetch_assocиспользуется для извлечения строки из набора результатов в виде ассоциативного массива. Однако могут возникнуть ситуации, когда вам потребуется обратить процесс вспять и преобразовать ассоциативный массив обратно в набор результатов. В этой статье мы рассмотрим несколько методов выполнения этой обратной операции в PHP, а также приведем примеры кода.
Метод 1: использование цикла
Один простой подход — перебрать ассоциативный массив и создать новый массив со значениями в нужном формате. Вот пример:
$resultSet = [];
foreach ($assocArray as $key => $value) {
$resultSet[] = [$key => $value];
}
Метод 2: использование array_map
Функция array_mapможет использоваться для применения функции обратного вызова к каждому элементу массива и возврата нового массива. Мы можем воспользоваться этим, чтобы преобразовать ассоциативный массив в набор результатов:
$resultSet = array_map(function ($key, $value) {
return [$key => $value];
}, array_keys($assocArray), $assocArray);
Метод 3: использование array_reduce
Функция array_reduceпозволяет нам перебирать массив и накапливать значение на основе каждого элемента. Мы можем использовать этот метод для обратной выборки ассоциированного объекта:
$resultSet = array_reduce(array_keys($assocArray), function ($carry, $key) use ($assocArray) {
$carry[] = [$key => $assocArray[$key]];
return $carry;
}, []);
Метод 4: использование array_walk
Функция array_walkприменяет определяемую пользователем функцию к каждому элементу массива. Мы можем использовать этот метод для создания набора результатов из ассоциативного массива:
$resultSet = [];
array_walk($assocArray, function ($value, $key) use (&$resultSet) {
$resultSet[] = [$key => $value];
});
В этой статье мы рассмотрели несколько методов обратной выборки ассоциированного объекта в PHP. Предпочитаете ли вы использовать циклы, функции массива, такие как array_map, array_reduceили array_walk, у вас есть несколько вариантов преобразования ассоциативного массива обратно в результат. набор. В зависимости от вашего конкретного случая использования вы можете выбрать метод, который подходит вам лучше всего.