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输出[重复]的主要内容,如果未能解决你的问题,请参考以下文章