Почему json_encode() показывает ключи после фильтрации с помощью array_diff()? [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему json_encode() показывает ключи после фильтрации с помощью array_diff()? [дубликат]

Сообщение Anonymous »

В документации PHP четко указано


Сравнивает массив1 с одним или несколькими другими массивами и возвращает значения в array1, которых нет ни в одном из других массивов.


Похоже, это не совсем так. Возьмем следующий пример

Код: Выделить всё

$a = array(1,2,3,4);
$b = array(3,4,5);
echo "b FROM a = ";
echo json_encode(array_diff($a,$b));
echo "
a FROM b = ";
echo json_encode(array_diff($b,$a));
который возвращает

Код: Выделить всё

b FROM a = [1,2]
a FROM b = {"2":5}
т.е. простой массив в одном случае и ассоциативный массив в другом. Легко исправить — меня волнуют только значения, поэтому я могу просто выполнить array_values(array_diff. Однако меня беспокоит, что в документации эта разница замалчивается. Возможно, кто-то здесь может пролить больше света на то, что происходит?< /п>

Подробнее здесь: https://stackoverflow.com/questions/392 ... array-diff
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»