我怎样才能将这多个数组压平为1?

时间:2014-02-27 16:38:21

标签: php

这是我的数组从var_dump和print_r:

的角度表示的

我需要使用array_unique,但它对这个数组不起作用,所以我想如果我可以将它展平为适合一个数组,那么唯一将起作用。

var_dump:

{
  ["Source"]=>
  string(12) "10.96.250.49"
}
array(1) {
  ["Source"]=>
  string(12) "10.96.250.49"
}
array(1) {
  ["Source"]=>
  string(12) "10.96.250.49"
}

print_r:

Array
(
    [Source] => 10.96.250.49
)
Array
(
    [Source] => 10.96.250.49
)
Array
(
    [Source] => 10.96.250.49
)

1 个答案:

答案 0 :(得分:0)

如果您使用的是PHP 5.5+,则可以使用array_column()提取所有Source值:

$result = array_unique(array_column($array, 'Source'));

如果你使用的是较旧的PHP版本,只需循环遍历你的数组并创建一个扁平数组,如下所示:

$new = array();
foreach ($array as $subarr) {
    $new[] = $subarr['Source'];
}

$result = array_unique($new);