За последние 24 часа нас посетили 22099 программистов и 1152 робота. Сейчас ищут 553 программиста ...

Поиск по массиву

Тема в разделе "PHP для новичков", создана пользователем radioactive, 28 ноя 2018.

  1. radioactive

    radioactive Новичок

    С нами с:
    24 сен 2016
    Сообщения:
    32
    Симпатии:
    1
    имею такой массив
    Код (Text):
    1. [
    2.     {
    3.         "id":1,
    4.         "name":name1,
    5.         "phone":1
    6.     },
    7.     {
    8.         "id":2,
    9.         "name":name1s,
    10.         "phone":2
    11.     },
    12.     {
    13.         "id":3,
    14.         "name":gregor,
    15.         "phone":3
    16.     }
    17. ]
    как на php мне выбрать все "name1" (то-есть вернутся 2)

    сделал это:
    PHP:
    1. $names = 'name1';
    2. foreach ($array as $j) {
    3.     if ($j->name==$names) {
    4.         echo $j->name.'<br>';
    5.     }
    6. }
    но тут при соблюдении условия, работа скрипта прекращается

    а мне нужно чтобы вывело:
    name1
    name1s
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
  3. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
  4. radioactive

    radioactive Новичок

    С нами с:
    24 сен 2016
    Сообщения:
    32
    Симпатии:
    1
    json_decode
     
  5. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Можно конечно и не регуляркой но..
    Код (Text):
    1. if (preg_match("/$names/", $j->name))
     
    radioactive нравится это.
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.750
    Симпатии:
    1.322
    Адрес:
    Лень
    @nospiou, регулярное выражение - дно
    PHP:
    1. $json = '[
    2.    {
    3.        "id":1,
    4.        "name":"name1",
    5.        "phone":1
    6.    },
    7.    {
    8.        "id":2,
    9.        "name":"name1s",
    10.        "phone":2
    11.    },
    12.    {
    13.        "id":3,
    14.        "name":"gregor",
    15.        "phone":3
    16.    }
    17. ]';
    18.  
    19. $a = [];
    20.  
    21. $names = 'name1';
    22.  
    23. foreach ( json_decode ( $json, 1 ) AS [ 'name' => $name ] )
    24. {
    25.     if ( strpos ( $name, $names ) !== false )
    26.     {
    27.         $a[] = $name;
    28.     }
    29. }
    30.  
    31. echo implode ( '<br>', $a );
    @radioactive, у тебя json не валидный.
     
    radioactive нравится это.
  7. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @MouseZver, регулярки очень полезное средство и об этом уже был разговор. Надо всего лишь применять их там где они действительно нужны.
    Данная задача у ТС возникла на мой взгляд из-за допущенной ранее логической ошибки в коде. Я могу и ошибаться, но выяснять первопричину у меня нет ни времени ни желания.
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.750
    Симпатии:
    1.322
    Адрес:
    Лень
    @Valick, нет.
    Регулярки применяют там, где голова программиста не может весь логический сценарий проиграть в уме и ходят по короткому, грязному пути. И да, в том разговоре NULL умозаключения, т.е. мусор, а не текст.
     
  9. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    @MouseZver говорят регулярки отнимают много ресурсов
     
  10. radioactive

    radioactive Новичок

    С нами с:
    24 сен 2016
    Сообщения:
    32
    Симпатии:
    1
    Всем спасибо за ответы
     
  11. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @Dimon2x Регулярка это как коробка автомат. Многое зависит от ситуации от производителя да не факт что ручка будет быстрее не везде за рулем шумахер. Зато красиво и удобно. Так ко всему можно придраться. Кожа к попе липнет климат бензин жрет и т.д. Тут уж каждому свое.
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.750
    Симпатии:
    1.322
    Адрес:
    Лень
    В одном паблике из соцсетей про мой город популярно пояснил что, когда кидаете в паблик цветные/красивые пейзажи домов, с облаками или "ой какой хороший, красивый город", не забывайте зайти во дворы и сфоткать ТАМ красоту. Красиво ?
    --- Добавлено ---
    @Dimon2x, они не только отнимают ресурсы. У них логических действий триллион раз больше, чем в сопоставленной конкретики отдельной/ых функции/й
     
  13. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    @MouseZver это наверно в любом городе