首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将二级数组转换为简单数组

如何将二级数组转换为简单数组
EN

Stack Overflow用户
提问于 2019-05-30 20:27:40
回答 3查看 84关注 0票数 0

我有一个这样的数组:

代码语言:javascript
复制
[12601] => Array (
        ['docUpload'] => html dom.txt
)

[12602] => Array (
        ['docUpload'] => PYTHON AND DJANGO ARE HUGE IN FINTECH.txt
)
[12603] => Array (
        ['docUpload'] => 
)

如何像这样获取它:

代码语言:javascript
复制
12601 => html dom.txt
12602 => PYTHON AND DJANGO ARE HUGE IN FINTECH.txt

你能帮帮我吗?

EN

回答 3

Stack Overflow用户

发布于 2019-05-30 20:38:56

使用array_column()获取这些值,然后将它们与array_combine()array_keys()组合。

代码语言:javascript
复制
$values = array_column($array, 'docUpload');
$newArray = array_combine(array_keys($array), $values);

https://3v4l.org/lG4KO上的

  • 现场演示
票数 1
EN

Stack Overflow用户

发布于 2019-05-30 20:34:37

您可以通过foreach()遍历数组

步骤:

1)获取一个新的空数组。我们正在将我们的结果附加到这里。

2)如果数组不为空,则按foreach遍历数组

3)使用键值对。id是所需数组中的密钥。

4) Value是一个数组,其关键字docUpload是文档名称。

5)在新元素后追加idvalue (docUpload)。

6)结果数组将是一维数组。

最终代码:

代码语言:javascript
复制
$arr = [];
$arr[12401] = ['docUpload' => ''];
$arr[12601] = ['docUpload' => 'html dom.txt'];
$arr[12602] = ['docUpload' => 'PYTHON AND DJANGO ARE HUGE IN FINTECH.txt'];
$arr[12603] = ['docUpload' => ''];
$newArr = [];
if (! empty($arr)) {
 foreach ($arr as $id => $docArr) {
  $newArr[$id] = $docArr['docUpload'];
 }
}
echo '<pre>';print_r($newArr);echo '</pre>';

输出:

代码语言:javascript
复制
Array
(
    [12401] => 
    [12601] => html dom.txt
    [12602] => PYTHON AND DJANGO ARE HUGE IN FINTECH.txt
    [12603] => 
)

Working Link:

票数 0
EN

Stack Overflow用户

发布于 2019-05-30 20:36:46

您需要执行以下操作:

代码语言:javascript
复制
foreach ($arrayData as &$value) {
    $value = isset($value['docUpload']) ? $value['docUpload'] : '';
}

它将产生以下数组:

代码语言:javascript
复制
[docUpload] => [
    [12601] => html dom.txt
    [12602] => PYTHON AND DJANGO ARE HUGE IN FINTECH.txt
];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56378331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档