PHP поиск в многомерном массиве

244
22 октября 2017, 23:01

Дан список студентов, необходимо сделать выборку и вывести список студентов которые проживают в общежитии и получают стипендию. Как искать значение "общежитие" и "стипендия есть" в многомерном массиве?

Иванов Иванов Иванович, мужской, дома, стипендия есть
Федосеев Фёдор Авксентьевич, мужской, общежитие, стипендия есть
Евсеев Авксентий Яковович, мужской, общежитие, стипендии нет
Зиновьев Владлен Иринеевич, мужской, общежитие, стипендии нет
Суворова Ирина Аркадьевна, женский, дома, стипендии нет
Дьячкова Лидия Гордеевна, женский, общежитие, стипендия есть

    $input_file_name = "input.txt";
    $input = file($input_file_name);
    $i=0;
    foreach ($input as $strings_input)
    {
        $Split_input[$i++] = preg_split("/[\s,\?\.]+/", $strings_input);
    }
Answer 1

Если разделители , можно без регулярок, просто explode использовать

$input_file_name = "input.txt";
$input = file($input_file_name);
foreach ($input as $strings_input) {
    $data = explode(',', $strings_input);
    if ('общежитие' == trim($data[2])) {
        echo 'успех-1';
    }
    if ('стипендия есть' == trim($data[3])) {
        echo 'успех-2';
    }
}
Answer 2

Еще вариант, аналогичен предыдущему почти.

    $input_file_name = "input.txt"; 
    $input = file($input_file_name); 
    $i=0; 
    foreach ($input as $strings_input) 
    { 
        $Split_input[$i++] = split(",", $strings_input); 
    } 
 
 
    foreach ($Split_input as $value) { 
 
      if (trim($value[2]) == 'общежитие') 
      { 
        echo "<pre>", var_dump($value), "</pre>"; 
      } 
 
      // if (trim($value[3]) == 'стипендия есть') 
      // { 
      //   echo "<pre>", var_dump($value), "</pre>"; 
      // } 
    }

READ ALSO
Нужно записать массив в файл

Нужно записать массив в файл

Есть массив, который очень быстро пополняется значениями и из него удаляются все значенияМне нужно что бы в определенный момент(я сам знаю...

156
Laravel Middleware

Laravel Middleware

Есть Laravel Middleware, который должен перенаправлять если пользователь не залогинен со следсодержимым:

162
Не выводятся данные в админку sleepingowl (laravel)

Не выводятся данные в админку sleepingowl (laravel)

Пробую разобраться в админке sleepingowlГде-то запарился, подскажите что не сделал

200
Выкачка изображений с другого сервера

Выкачка изображений с другого сервера

Необходимо массово скачать около нескольки тысяч файлов картинокОднако если запускать скрипт, то спустя время сервер выдает Error 502 - Bad Gateway

218