Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск в массиве
 
 автор: Akira   (29.09.2005 в 00:33)   письмо автору
 
 

array_search("need",$array)
Как я спрашивал про нее но мне не рассказали о ней, что странно.
Но суть не в этом.
date.dat

abc
ab
a

test.php

<?
$array1 
file("date.dat");
echo 
array_search("ab",$array1 ); // результата нет

$array2 = array("abc","ab","a");
echo 
array_search("ab",$array2 ); // результат 1
?>

Как это понимать?

   
 
 автор: cheops   (29.09.2005 в 00:43)   письмо автору
 
   для: Akira   (29.09.2005 в 00:33)
 

Дело в том, что если файл создаётся в windows, то строка заканчивается на \r\n, вместо \n, как в UNIX. Функция file ориентируется именно на UNIX-файлы, поэтому каждая строка содержит дополнительно невидимый символ \r на конце - он то и мешает нормальной работе функции array_search().

   
 
 автор: Akira   (29.09.2005 в 01:04)   письмо автору
 
   для: cheops   (29.09.2005 в 00:43)
 

*как же я не додумался*

   
 
 автор: isset   (29.09.2005 в 00:47)   письмо автору
 
   для: Akira   (29.09.2005 в 00:33)
 

Как вариант:

<?
$array1 
file("date.dat");
echo 
array_search("ab"array_map("trim",$array1)); 

?> 

   
 
 автор: Akira   (29.09.2005 в 01:07)   письмо автору
 
   для: isset   (29.09.2005 в 00:47)
 

Спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования