Как умно сделать сравнение с массивом?

Тема в разделе "Как сделать...", создана пользователем Sankaboy, 25 май 2012.

  1. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    Привет!
    Есть массив: $coul ($coul[]);
    Он имеет вид: array ( 0 => 'home', 1 => 'house', )
    С другого источника выводится к примеру одно слово, которое есть в массиве - house.
    Нужно сделать чтобы срабатывало условие: if(). Сравнение слова внешнего источника и слова в массиве.
    Помогите пожалуйста. Я так понимаю это сложный процесс, перебора в массиве. Вот прошу помощи, чтобы было по разумному.
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    Sankaboy нравится это.
  3. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    Спасибо!
    Есть возможность как-то упростить текст?
    PHP:
    $text_arr = array();
    $namesarray 'homerishe';
    foreach(
    $arr as $val){
    $text_arr[] = $val['screen_name'];
    }
    if (
    in_array($namesarray$text_arr)) {
        echo 
    "Нашолся!";
    }else {echo 
    'Не нашолся.';}
    Массив получает значения с json-а.
     
  4. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    PHP:
    <?
    $text_arr = array();
    $namesarray 'homerishe';
    foreach(
    $arr as $val){
    $text_arr[] = $val['screen_name'];
    if(
    $val['screen_name'] == $namesarray)
    { echo 
    "Нашелся!"$f true; }
    }
     
    if(!
    $f) {echo 'Не нашeлся.';}
    ?>
    in_array() - довольно медленная работа и раз уж у тебя все равно идет перебор всех значений, то почему бы сразу и не сравнивать?
     
    Sankaboy нравится это.
  5. Sankaboy

    Sankaboy Постоялец

    Регистр.:
    1 фев 2012
    Сообщения:
    112
    Симпатии:
    3
    Спасибо! Просто я боюсь - если в массиве будет 100 слов для сравнения. Это же долгое время будет происходить сравнение. Верно?