Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Есть ли альтернатива конструкции перебора массива? Массив. Быстрый поиск в массиве 
V
    Опции темы
OverClocker
  Дата 11.5.2006, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



$array - массив
$str - строка

Нужно найти тот элемент массива, который равен строке:

Код

for($i=0;$i<count($array);$i++)
{
   if ($array[$i]==$str)
   {
        .... //действия
        break;
   }
}


Есть ли замена такой конструкции? Более короткая и быстрая. 
PM MAIL WWW   Вверх
Ripper
Дата 11.5.2006, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: 1
Всего: 23



Цитата

mixed array_search (mixed элемент, array массив, bool strict) 

Сканит массив на наличие заданного элемента и, если такой есть, возвращает его ключ; иначе возвращает FALSE. 

$arr=array( 
"a"=>"alpha", 
"b"=>"beta", 
"c"=>"centavra" 
"d"=>"gamma" 
); 

$ourkey=array_search("alpha",$arr); 

if($ourkey) 
echo($ourkey); 



Сам проверил, вроде если должна находить возвращает единицу 
Код

<?
$arr=array("abc","cab","bvfg");
$v=array_search("cab",$arr);
echo $v;
?>

Источник - http://web-support.ru/web-tech/php_64.shtml  


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 12.5.2006, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Если искомое значение не нужно для использования, а нужна проверка только на вхождение, то по-моему будет более разумно использовать
Код

in_array();
 


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Drache
Дата 13.5.2006, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 31.3.2006

Репутация: 1
Всего: 3



to -=Ustas=-:

почему более разумно? 
PM MAIL   Вверх
-=Ustas=-
Дата 13.5.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Drache
Цитата(-=Ustas=- @  12.5.2006,  09:44 Найти цитируемый пост)
Если искомое значение не нужно для использования, а нужна проверка только на вхождение

 


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.