Php array_intersect输出[重复]

Posted

技术标签:

【中文标题】Php array_intersect输出[重复]【英文标题】:Php array_intersect output [duplicate] 【发布时间】:2016-07-22 03:19:57 【问题描述】:

我对数组的工作方式有疑问。

$a = array("24","33","12");
$b = array("24","12");

$c = array_intersect($a,$b);

echo json_encode($c);

// "0":"24","2":"12"

我希望输出是这样的:

// ["24","12"]

我怎样才能实现这个输出?

【问题讨论】:

【参考方案1】:
echo json_encode(array_values($c));

output

["24","12"]

【讨论】:

【参考方案2】:

array_intersect 计算数组的交集

<?php

$array1 = array(2, 4, 6, 8, 10, 12);
$array2 = array(1, 2, 3, 4, 5, 6);

var_dump(array_intersect($array1, $array2));
var_dump(array_intersect($array2, $array1));

?>

将产生

array(3) 
  [0]=> int(2)
  [1]=> int(4)
  [2]=> int(6)


array(3) 
  [1]=> int(2)
  [3]=> int(4)
  [5]=> int(6)

json_encode 返回包含值的 JSON 表示形式的字符串。例如

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

会输出

"a":1,"b":2,"c":3,"d":4,"e":5

正如 mamta 回答的那样,您可以使用 array_values 返回数组的所有值并像 json_encode 一样对其进行编码 回声json_encode(array_values($c))

【讨论】:

注意!感谢您的信息。

以上是关于Php array_intersect输出[重复]的主要内容,如果未能解决你的问题,请参考以下文章

php动态array_intersect

php中的array_intersect()具有特殊用途

PHP:正则表达式替代 array_intersect

使用array_intersect将数组与重复值进行比较?

php array_intersect() 效率

PHP使用array_intersect()函数求数组交集