如何转换PHP数组?

问题描述 投票:-6回答:2

这是一个PHP数据库输出数组:

[
  [hi]=>array(
        [text] => 'ok'
   )
  [work]=>array(
        [text] => 'usa'
   )
  [city]=>array(
        [text] => 'newyork'
   )
]

我如何将其转换为如下所示:

[
  [hi]=> 'ok'
  [work]=> 'usa'
  [city]=> 'newyork'
]
php
2个回答
3
投票

您只想循环遍历数组并构建新格式化的数组。

<?php

$arr = [
    'please' => [
        'text' => 'it'
    ],
    'use' => [
        'text' => 'will'
    ],
    'google' => [
        'text' => 'help'
    ]
];

$formattedArr = [];
foreach ($arr as $k => $v) {
    $formattedArr[$k] = $v['text'];
}

0
投票

使用一些数组排序方法的另一种方法是让我们获得一个单行:

$formattedArr = array_combine( array_keys($arr), array_column($arr, 'text'));

array_combine是一个php函数,它使用键的数组和值的数组创建一个新数组。

简而言之,array_keys得到了 - 你猜对了 - 阵列的关键。 array_column从内部数组创建一个选定属性的数组,因此在这种情况下,它会从内部数组中获取“text”值。

© www.soinside.com 2019 - 2024. All rights reserved.