如何转换PHP数组?;

如何转换PHP数组?;,php,Php,这是一个PHP数据库输出数组: [ [hi]=>array( [text] => 'ok' ) [work]=>array( [text] => 'usa' ) [city]=>array( [text] => 'newyork' ) ] 如何将其转换为如下所示: [ [hi]=> 'ok' [work]=> 'usa' [city]=> 'newyo

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

[
  [hi]=>array(
        [text] => 'ok'
   )
  [work]=>array(
        [text] => 'usa'
   )
  [city]=>array(
        [text] => 'newyork'
   )
]
如何将其转换为如下所示:

[
  [hi]=> 'ok'
  [work]=> 'usa'
  [city]=> 'newyork'
]

您只需要在数组上循环并构建新格式化的数组

<?php

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

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

另一种方法是使用一些数组排序方法来获得一行:

$formattedArr = array_combine( array_keys($arr), array_column($arr, 'text'));
array\u combine
是一个php函数,它使用一个键数组和一个值数组创建一个新数组

简单地说,
array\u keys
获取数组的键(您猜对了)。
array\u column
从内部数组创建选定属性的数组,因此在本例中,它将从内部数组中提取“text”值。

使用
foreach
循环,您尝试过吗?如果不尝试,您不会失败,但也不会成功。尝试,失败,学习,成功。或者仅仅是w/或类似的。你是如何获得上面的输出的?类似于
foreach($yourarras$key=>$value){$newArr[$key]=$value['text'];}