За последние 24 часа нас посетили 21545 программистов и 1066 роботов. Сейчас ищут 794 программиста ...

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

Тема в разделе "PHP для новичков", создана пользователем Dron-Boy, 20 янв 2017.

  1. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Вобщем есть массив где хранятся все записи
    я с БД с помощью функции like достаю id записи которая нужна мне. Как мне потом вывсети данные из массива где поле id_films равно id который получил из бд
    массив с записями
    PHP:
    1. (
    2.     [0] => Array
    3.         (
    4.             [id_films] => 15
    5.             [name_films] => Аватар
    6.             [new] => 1
    7.             [id_img] => 23
    8.             [img] => ../img_user/avatar.jpg
    9.             [id_coment] => 67
    10.             [name_user] => Виктор
    11.             [date] => 12.01.2017
    12.             [coment] => Крутой фильм. Стоит смотреть!
    13.             [janru_films] => боевик,приключения,фантастика,фэнтези
    14.             [links] => http://kinogo.club/716-avatar-2009.html,http://gidonline.club/2011/03/avatar/
    15.             [reyting] => 10
    16.         )
     
  2. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    PHP:
    1. while ($res = $array[0]) {
    2.     var_dump ($res);
    3. }
    --- Добавлено ---
    Вместо var_dump () выводим нужные записи, например, echo $res["id"];
    А для нужного условия делаем if в цикле:
    if ($res["id_films"] == $твой_id) {
    var_dump ($res);
    }
     
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    PHP:
    1. <?php
    2. $output = array_filter($arr, function($a) use($id) {
    3.     return $a['id_films'] == $id;
    4. });
     
  4. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    PHP:
    1. $mas_film_find = '';
    2.                         for($i = 0; $i < count($mas); $i++)
    3.                             {
    4.                                 if( stristr($mas[$i]['name_films'],$_POST['films'])){
    5.                                     $mas_film_find[$i]=array(
    6.                                     "img"=>$mas[$i]['img'],
    7.                                     "id"=>$mas[$i]['id_films'],
    8.                                     "coment"=>$mas[$i]['coment'],
    9.                                     "name_films"=>$mas[$i]['name_films'],
    10.                                     );  
    11.                                 }
    12.                                
    13.                             }
    Сделал так если кому нужно
     
  5. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Зачем for? Есть же специальный цикл для перебора массивов, foreach, или while, как вариант.
     
  6. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    ну началось. да можно не спорю. Поправил? спасибо
     
  7. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Я никого не поправлял, просто while и foreach же проще, чем for
     
  8. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    ок. Вопрос следующий сравниваю регистронезависимой ф-н. Но всеровно из за регисра не сравнивает почему? вар дамп делал все норм. кодировку тоже проверял. все норм. но не ищет
     
  9. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    какой именно функцией? у этой функции есть многобайтовый аналог?
     
  10. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    у него stristr ();
     
  11. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург