Php array_intersect输出

时间:2016-07-22 03:19:58

标签: php arrays array-intersect

我遇到了数组如何工作的问题。

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

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

echo json_encode($c);

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

我希望输出是这样的:

// ["24","12"]

我如何实现这一输出?

2 个答案:

答案 0 :(得分:1)

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改为 echo json_encode(array_values($c))

答案 1 :(得分:1)

echo json_encode(array_values($c));

output

["24","12"]