如何从 print_r() 输出中删除数组键?

问题描述 投票:0回答:2

我正在尝试将索引数组转换为普通数组。基本上得到的是:

Array ( [0] => 14 [1] => 19 [2] => 20 )

我需要的是:

Array(14,19,20);

我尝试通过谷歌但没有找到信息。我想PHP中没有这种功能,有吗?

php arrays php-5.4
2个回答
18
投票

你在追逐影子:
您显示的两个数组都是相等的。

PHP 中不存在无索引数组这样的东西。

但如果你真的想确定,请使用

$newArray = array_values($array)


-1
投票

我也有同样的问题

我想从关联数组中删除一列,然后将该列减少为唯一值。我使用的命令是...

$my_array = array_unique(array_column($upc_list_resolved,'vendor'));

这产生了以下数组(这是

print_r()
的输出):

Array
(
    [0] => 106
    [1] => 103
    [2] => 16
    [8] => 93
    [21] => 20
    [26] => 0
    [96] => 119
    [116] => 27
    [267] => 108
)

我不知道

foreach($my_array as $val)
类型声明会发生什么,老实说,我不想担心它。我只是想要一个漂亮的数组。解决方案是array_values()

$my_array = array_values(array_unique(array_column($upc_list_resolved,'vendor')));

产生...

Array
(
    [0] => 106
    [1] => 103
    [2] => 16
    [3] => 93
    [4] => 20
    [5] => 0
    [6] => 119
    [7] => 27
    [8] => 108
)

我相信我在这里的答案是有效的,因为虽然OP的两个例子实际上是相同的(一个是另一个的

print_r($op_array)
),但在PHP中可以有一个螺旋索引一维数组,并且,我相信像OP一样,我想要一个“正常的、普通的、普通的旧阵列”。可能并不重要...但是,为什么 PHP 有这个命令?

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