За последние 24 часа нас посетили 22056 программистов и 1104 робота. Сейчас ищут 719 программистов ...

array_diff, не пойму

Тема в разделе "PHP для новичков", создана пользователем Нурлыбек, 23 окт 2019.

Метки:
  1. Нурлыбек

    Нурлыбек Новичок

    С нами с:
    23 окт 2019
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте, подскажите по array diff. Есть два массива
    PHP:
    1. $a = [
    2.     'aim' => '',
    3.     'significance' => '',
    4.     'similar_projects' => '',
    5.     'previous_grants' => '',
    6. ];
    7. $b = [
    8.     'aim' => '<p>ghj</p>',
    9.     'significance' => '',
    10.     'similar_projects' => '',
    11.     'previous_grants' => '',
    12. ];
    Провожу через функцию
    PHP:
    1. $d = array_diff($a, $b);
    2. print_r($d);
    получаю в результате пустой массив.
    А если оставить только поле aim, то различие находить. В чем проблема?
     
  2. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    Нурлыбек нравится это.
  3. Нурлыбек

    Нурлыбек Новичок

    С нами с:
    23 окт 2019
    Сообщения:
    2
    Симпатии:
    0
    Попробую его использовать.
    Но в моем случаю, в обоих массивах ключи всегда одинаковые. Просто значения не всегда правильно сравниваются. То есть, когда есть все 4 элемента, и вот как в моем случаи с aim не видит различия. Но если поменять местами массивы то все работает, либо если убрать элементы с пустой строкой
     
  4. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Нурлыбек, просто внимательно читай описание функций и смотри примеры там же. Там все описано и расписано вдоль и поперёк.