Php 如何将多个阵列展平为1?
这是我的数组在var_dump和print_r视图中的表示: 我需要使用array_unique,但它不适用于此阵列,所以我想,如果我可以将其展平,使其完全适合一个阵列,那么unique将起作用 变量转储: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
{
["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)。“”代码>