Php 如何将多个阵列展平为1?

Php 如何将多个阵列展平为1?,php,Php,这是我的数组在var_dump和print_r视图中的表示: 我需要使用array_unique,但它不适用于此阵列,所以我想,如果我可以将其展平,使其完全适合一个阵列,那么unique将起作用 变量转储: { ["Source"]=> string(12) "10.96.250.49" } array(1) { ["Source"]=> string(12) "10.96.250.49" } array(1) { ["Source"]=> string

这是我的数组在var_dump和print_r视图中的表示:

我需要使用array_unique,但它不适用于此阵列,所以我想,如果我可以将其展平,使其完全适合一个阵列,那么unique将起作用

变量转储:

{
  ["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"
}
Array
(
    [Source] => 10.96.250.49
)
Array
(
    [Source] => 10.96.250.49
)
Array
(
    [Source] => 10.96.250.49
)
打印:

{
  ["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"
}
Array
(
    [Source] => 10.96.250.49
)
Array
(
    [Source] => 10.96.250.49
)
Array
(
    [Source] => 10.96.250.49
)

如果您使用的是PHP5.5+,则可以使用来提取所有
源代码
值:

$result = array_unique(array_column($array, 'Source'));
如果您使用的是较旧的PHP版本,只需在数组中循环并创建一个扁平数组,如下所示:

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

$result = array_unique($new);

值是否总是相同的,如果是这样,为什么不总是拉第一个数组呢$数组[0]@遗憾的是,DavidJones不会总是一样的。我正在使用php5。下面是结果
array(0){}array(0){}array(0){}
@LearningPHP:那么,我不确定原始数组包含什么。你能在eval.in上发布一个例子吗?数据是使用
而($IPs=$query->fetch(PDO::fetch_ASSOC))$arr=$IPs}
我不知道你的数组是什么样子,@LearningPHP。没有这些,我只能建议一个通用的解决方案。如果您在使其工作时遇到困难,请发布以下语句的输出。(确保将其放在循环之后):
echo'。打印(此处为您的数组,TRUE)。“”