Array_diff() удаляет элементы из результата, даже если значения совпадают, но ключи разныеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Array_diff() удаляет элементы из результата, даже если значения совпадают, но ключи разные

Сообщение Anonymous »

Это такая простая проблема, но документ PHP не объясняет, почему это происходит.
У меня есть этот код:

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

var_dump($newattributes);
var_dump($oldattributes);
var_dump(array_diff($newattributes, $oldattributes));
Для краткости я собираюсь опустить большую часть структуры, которую я на самом деле использую (поскольку каждая из них состоит из 117 элементов), и сократить ее до конкретного случая.
У меня есть массив $newattributes, который выглядит так:

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

array(117){
// Lots of other attributes here
["deleted"] => int(1)
}
И еще один, $oldattributes, который выглядит так:

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

array(117){
// Lots of other attributes here
["deleted"] => string(1) "0"
}
Что выглядит по-другому, верно? Согласно array_diff: нет. Результат, который я получаю от array_diff:

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

array(0) { }
Я прочитал страницу документации, но там написано:

Два элемента считаются равными тогда и только тогда, когда (string ) $elem1 ===
(строка) $elem2. Прописью: когда строковое представление одинаковое.

И я не уверен, как «1» может быть равно «0».
Вижу ли я какие-то предостережения относительно array_diff(), которые я не учел?

Подробнее здесь: https://stackoverflow.com/questions/120 ... t-keys-are
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Array_diff() неправильно удаляет совпадающие значения, несмотря на то, что ключи не совпадают [дубликат]
    Anonymous » » в форуме Php
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Array_diff() отфильтровывает элементы с одинаковым значением, даже если их ассоциативные ключи не совпадают.
    Anonymous » » в форуме Php
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как сравнить разные шоу json, как git diff [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как сравнить разные шоу json, как git diff
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Сделайте Linux diff считать текст таким же, даже если это не так? [закрыто]
    Anonymous » » в форуме Linux
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

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