Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поиск по массиву
Форумы портала PHP.SU » » Вопросы новичков » Поиск по массиву

Страниц (1): [1]
 

1. AnteFil - 25 Июня, 2014 - 06:47:59 - перейти к сообщению
Открываю документ примерно с таким содержанием:
Иванов
Петров
Сидоров
Магнатулин
Бедуршов
Камолин
Выхухоль
Бердыщев
Черезаборногузадерищенко

и мне нужно найти или 1 или 2 или 3 фамилии в случае обнаружения сказать мол найден в случае отсутсвия сказать мол нет такгого
Делаю я вот так
PHP:
скопировать код в буфер обмена
  1. $file = file_get_contents('D:\test.txt');
  2. $arr = array($file);
  3. if(in_array('Сидоров', $file))
  4. echo 'Значение есть в массиве';
  5. else echo 'Значения в массиве нет';

Но найти его почему то не получаеться
2. DelphinPRO - 25 Июня, 2014 - 08:47:22 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $file = file('D:\test.txt');
  2. if(in_array('Сидоров', $file))
  3. echo 'Значение есть в массиве';
  4. else echo 'Значения в массиве нет';
3. AnteFil - 25 Июня, 2014 - 08:54:38 - перейти к сообщению
Массив создать получилось однако поиск почему то не работает
PHP:
скопировать код в буфер обмена
  1. $file = file_get_contents('D:\test.txt');
  2. $pieces = explode("\r\n", $file);
  3. $man = array($pieces);
  4. if(in_array('777', $man))
  5. echo 'Значение есть в массиве';
  6. else echo 'Значения в массиве нет';
  7. print_r($man);
4. LIME - 25 Июня, 2014 - 08:57:36 - перейти к сообщению
3 стр выбросить
5. AnteFil - 25 Июня, 2014 - 09:04:21 - перейти к сообщению
LIME пишет:
3 стр выбросить


ООО Спасибо заработало!
(Добавление)
Такой вот вопрос а если я буду искать не 1 элемент а 2 или 10 как быть в такой ситуации??
6. LIME - 25 Июня, 2014 - 09:48:48 - перейти к сообщению
array_intersect
7. AnteFil - 25 Июня, 2014 - 11:07:23 - перейти к сообщению
И наверно последний вопрос как теперь проверить. У меня получаеться что если есть совпадения то в массиве появляються данные если сопадение нет то массив пустой.
(Добавление)
Поторопился с вопросом
PHP:
скопировать код в буфер обмена
  1. if (!empty($array)){
  2.     echo $array;
  3.  }else{
  4.     echo 'false';
  5.  }
8. LIME - 25 Июня, 2014 - 11:12:02 - перейти к сообщению
AnteFil пишет:
echo $array;
это всегда будет слово "Array"
var_dump

 

Powered by ExBB FM 1.0 RC1