За последние 24 часа нас посетили 18770 программистов и 1732 робота. Сейчас ищут 1114 программистов ...

Поиск элемента в массиве без учера регистра

Тема в разделе "PHP для новичков", создана пользователем bobroff, 15 фев 2010.

  1. bobroff

    bobroff Активный пользователь

    С нами с:
    20 мар 2009
    Сообщения:
    44
    Симпатии:
    0
    Здравствуйте.

    Прошу совета: как организовать поиск элементов в массиве по имени без учета регистра? Интересует применительно к функция in_array, isset...

    Сам пока написал такое решение:
    PHP:
    1.  
    2.     $searchname = strtolower($name);
    3.  
    4.         $searchstatus = true;
    5.  
    6.         foreach($this->_modelElementsName as $currentname)
    7.         {
    8.             $currentname = strtolower($currentname);
    9.             if ($currentname === $searchname) $searchstatus = false;
    10.         }
    11.  
    12.         if($searchstatus) array_push($this->_modelElementsName, $name);
    13.  
    ..., но, имхо, это как-то не кошерно :shock:

    Заранее, спасибо...
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
  3. bobroff

    bobroff Активный пользователь

    С нами с:
    20 мар 2009
    Сообщения:
    44
    Симпатии:
    0
    Спасибо, поковыряю..
     
  4. bobroff

    bobroff Активный пользователь

    С нами с:
    20 мар 2009
    Сообщения:
    44
    Симпатии:
    0
    Функция array_map('strtolower', $haystack) переводит все значения ключей массива в нижний регистр.
    А как перевести сами ключи массива в нижний регистр?
     
  5. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    А это самый тупой вопрос, который только можно слышать, потому что в документации фиолетовым по серому написана функция array_change_key_case!
     
  6. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Да не, нормальный вопрос. Здесь 90% сейчас таких.
     
  7. bobroff

    bobroff Активный пользователь

    С нами с:
    20 мар 2009
    Сообщения:
    44
    Симпатии:
    0
    Спасибо за поддержку... пропустил это в документации...