2016-07-22 25 views
0

我在數組的工作方式有問題。Php 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"] 

我怎樣才能做到這一點的輸出?

+0

請試試我的解決辦法 – user1234

+0

@mamta評論'請看我的答案'或'請嘗試我的解決方案'不是一個好評。評論是詢問細節或提出改進的必要條件。 **不**請注意您的答案 –

回答

1
echo json_encode(array_values($c)); 

output 

["24","12"] 
+0

感謝您的支持! – Jefsama

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} 

由於馬姆塔回答,您可以使用array_values返回數組中所有的值,並json_encode它像 呼應json_encode(array_values($c))

+0

注意!謝謝(你的)信息。 – Jefsama