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

Форум PHP

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

 

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

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

тема: Поиск нужного элемента в массиве
 
 автор: Eugene77   (12.07.2009 в 16:25)   письмо автору
 
 

Если я где-то внёс в массив элемент:
<?
$element 
= array("key" => "val");
$my_array[] = $element;

То как мне его потом отыскать?
Вот такой уместен в РНР?
Или это мои фантазии?
<?
foreach($my_array as $a) {
 if(
$a == $element) echo "Найдено!";
}

  Ответить  
 
 автор: Trianon   (12.07.2009 в 16:32)   письмо автору
 
   для: Eugene77   (12.07.2009 в 16:25)
 

http://ru.php.net/manual/ru/ref.array.php

  Ответить  
 
 автор: Eugene77   (12.07.2009 в 16:39)   письмо автору
 
   для: Trianon   (12.07.2009 в 16:32)
 

Там вроде про функции рассказывается, а меня оператор == интересует.
Или там в коментариях искать?

  Ответить  
 
 автор: Trianon   (12.07.2009 в 16:49)   письмо автору
 
   для: Eugene77   (12.07.2009 в 16:39)
 

Если Вас интересует именно оператор == , тогда конечно же туда смотреть смысла большого нет.

  Ответить  
 
 автор: Eugene77   (12.07.2009 в 17:48)   письмо автору
 
   для: Trianon   (12.07.2009 в 16:49)
 

>Если Вас интересует именно оператор == , тогда конечно же туда смотреть смысла большого нет.

Мне хотелось узнать как этот оператор сравнивает массивы.
Что-то нигде документации на эту тему не найду.

  Ответить  
 
 автор: ddhvvn   (12.07.2009 в 16:49)   письмо автору
 
   для: Eugene77   (12.07.2009 в 16:39)
 

Вас интересует как найти. вот и найдите по ссылке Трианона ВСЕ что Вам необходимо при работе с массивами

  Ответить  
 
 автор: Eugene77   (12.07.2009 в 16:51)   письмо автору
 
   для: Trianon   (12.07.2009 в 16:32)
 

На практике такой приём работает, но насколько он легален?

  Ответить  
 
 автор: Trianon   (12.07.2009 в 16:53)   письмо автору
 
   для: Eugene77   (12.07.2009 в 16:51)
 

функцией было бы быстрее.
Определение существования ключа (а не элемента) в массиве было бы значительно быстрее.

  Ответить  
 
 автор: .   (12.07.2009 в 17:42)
 
   для: Trianon   (12.07.2009 в 16:53)
 

Почему?

  Ответить  
 
 автор: Eugene77   (12.07.2009 в 17:51)   письмо автору
 
   для: Trianon   (12.07.2009 в 16:53)
 

>функцией было бы быстрее.
>Определение существования ключа (а не элемента) в массиве было бы значительно быстрее.

Причём здесь это?
Я же не знаю какой ключ у того элемента, который я внёс в массив.
Но мне надо определить теперь, внёс я его или не вносил?

  Ответить  
 
 автор: MIchail1982   (12.07.2009 в 17:56)   письмо автору
 
   для: Eugene77   (12.07.2009 в 17:51)
 

а чем такое не устраивает?
<?php
if(in_array($a,$myArray)){ echo 'Founded';}
?>

  Ответить  
 
 автор: sim5   (12.07.2009 в 18:08)   письмо автору
 
   для: Eugene77   (12.07.2009 в 17:51)
 

array_search(), вернет и ключ, если нужен будет.

  Ответить  
 
 автор: Eugene77   (12.07.2009 в 19:02)   письмо автору
 
   для: sim5   (12.07.2009 в 18:08)
 

>array_search(), вернет и ключ, если нужен будет.

array_search($need, $where_search);

Правильно ли я вас понял, что эта функция безопасна в применении даже в том случае, если $need - массив?

  Ответить  
 
 автор: sim5   (12.07.2009 в 19:10)   письмо автору
 
   для: Eugene77   (12.07.2009 в 19:02)
 

А чем она опасна? $need это значение, которое вам надо найти, или у вас в мануале иное написано?

  Ответить  
 
 автор: Eugene77   (12.07.2009 в 19:42)   письмо автору
 
   для: sim5   (12.07.2009 в 19:10)
 

>А чем она опасна? $need это значение, которое вам надо найти, или у вас в мануале иное написано?

<?
  $need 
= array("key" => "val");

  Ответить  
 
 автор: sim5   (12.07.2009 в 20:04)   письмо автору
 
   для: Eugene77   (12.07.2009 в 19:42)
 

array_search("val", $need). Ну в мануале же написано, не понимаю, что может быть непонятного. Я думал, что $need - это вы обрезали строку из мануала.

  Ответить  
 
 автор: Trianon   (12.07.2009 в 20:24)   письмо автору
 
   для: Eugene77   (12.07.2009 в 17:51)
 

>>функцией было бы быстрее.
>>Определение существования ключа (а не элемента) в массиве было бы значительно быстрее.
>
>Причём здесь это?

При вопросе.
любая функция поиска работает быстрее foreach
поиск по ключу работает значительно быстрее поиска по значению.

Это, собственно, всё не Вам... а тем кто будет заглядывать в тему в дальнейшем.

>Но мне надо определить теперь, внёс я его или не вносил?

Вам надо побороть лень, и не бояться заглянуть в мануал, либо написать пару строк для опыта,
чтобы писать в форум не то что Вы написали, а то что выяснили.

  Ответить  
Rambler's Top100
вверх

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