2016-07-22 6 views
0

У меня возникли проблемы с работой массива.Php array_intersect output

$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

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