ФорумПрограммированиеPHP для идиотов → поиск по массиву

поиск по массиву

  • Александр2010

    Сообщения: 116 Репутация: N Группа: Кто попало

    Spritz 3 июля 2012 г. 12:37

    Добрый день пытаюсь реализовать поис по массиву но что то никак не выходит. Задача следующая с помощью функции
    PHP

    $array2 = file("adres.php");

    создается массив из фаила. существует переменная $adres которая передается через форму переменная текстовая. нужен обычный поиск по массиву и условие if else. Если в массиве есть допустим слово adres то выводить такое слово уже есть если нет такого слова в массиве то ничего не делать. Пробовал функцию
    PHP

    $result = array_search($adres,$array2);

    if ($result == true)
    {
    echo "takoe est";
    }
    else
    {
    echo "takogo net";
    }



    Пробовал разные вариации. но что то не работает ничего. Подскажите в чем трабла ??
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 3 июля 2012 г. 12:56, спустя 18 минут 10 секунд

    array_search — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
    http://ru2.php.net/manual/ru/function.array-search.php
    from TRIAL with LOVE
  • Александр2010

    Сообщения: 116 Репутация: N Группа: Кто попало

    Spritz 3 июля 2012 г. 12:59, спустя 3 минуты 28 секунд


    array_search — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
    http://ru2.php.net/manual/ru/function.array-search.php


    Это я понял только вот почему то мне он абсолютно ничего не возвращает. Не на локальном сервере не на двух хостингах разных. Такое ощющение что функция просто не работает
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 3 июля 2012 г. 13:11, спустя 12 минут 7 секунд

    ну сделай для начала
    print_r($array2)
    и посмотри что у тебя в нем и это ли ты ищеш
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 3 июля 2012 г. 13:17, спустя 5 минут 56 секунд

    да, кстати, и насчет ключа тебе правильно сказали, с хуев ключ сравнивать с true?
  • Александр2010

    Сообщения: 116 Репутация: N Группа: Кто попало

    Spritz 3 июля 2012 г. 13:19, спустя 1 минуту 50 секунд


    ну сделай для начала
    print_r($array2)
    и посмотри что у тебя в нем и это ли ты ищеш


    Принт р делал массив в порядке выводит все как надо
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 3 июля 2012 г. 13:52, спустя 33 минуты 15 секунд

    Александр2010, если ты хочешь поймать случай, когда элемент НЕнайден, то это делается так: === false или !== false (здесь ТРИ символа!)
    иначе заимеешся искать ошибки. купи учебник и почитай про неявное приведение типов.

    if ($result !== false)
    {
      echo "takoe est";
    }
    else
    {
      echo "takogo net";
    }
    ιιlllιlllι унц-унц
  • Александр2010

    Сообщения: 116 Репутация: N Группа: Кто попало

    Spritz 3 июля 2012 г. 13:54, спустя 1 минуту 29 секунд


    Александр2010, если ты хочешь поймать случай, когда элемент НЕнайден, то это делается так: === false или !== false (здесь ТРИ символа!)
    иначе заимеешся искать ошибки. купи учебник и почитай про неявное приведение типов.

    if ($result !== false)
    {
      echo "takoe est";
    }
    else
    {
      echo "takogo net";
    }



    У тебя этот код работает ??? у меня такой вариант не фурычет думаешь не пробовал ???
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 3 июля 2012 г. 14:13, спустя 18 минут 51 секунду

    Александр2010, ты заебал. Распечатай блин все переменные и давай сюда.

    И кстати, еще раз продублируешь тему да еще в неподходящем разделе - ЗАБАНЮ ПОЖИЗНЕННО!
  • Александр2010

    Сообщения: 116 Репутация: N Группа: Кто попало

    Spritz 4 июля 2012 г. 9:54, спустя 19 часов 41 минуту 49 секунд

    такая запись тоже не работает
    function trimmer(&$v,$k){
     $v = trim($v);
    }
    $file_array = file("email.php");
    $file_array = array_flip($file_array);
    array_walk($file_array,'trimmer');
    if(isset($file_array[$email2])){
     print 'registration not available';
    }

    Спустя 257 сек.
    вобщем есть php фаил в нем идет примерно такая запись
    Спустя 256 сек.
    вобщем есть php фаил в нем идет примерно такая запись

    [email protected]
    [email protected]
    [email protected]

    из этого фаила создается массив с помощью $file_array = file("email.php");

    что нужно дальше через форму передается переменная с e-mail адресом $email

    нужно чтобы созданый массив сканился на наличее емайла в переменной $email

    если такое мыло есть в фаиле то полная остановка скрипта

    если нет то выполняем дальнейшие действия
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 3 июля 2012 г. 15:41, спустя 5 часов 47 минут 4 секунды

    А с использованием БД а не файла это нельзя сделать?
    Ну а так, если массив и правда у тебя существует и выглядит так как ты написал, то всё должно работать.
    if(array_search($mail, $my_array)) echo "Существует";
    else echo "Не существует";


    Если не заработает то запости тут свой массив
    print '<pre>';
    print_r($my_array);
    print '</pre>';

    Только на 100500 записей, а на бельше 5-10 для наглядности, полностью скопировав вывод того кода что я привел.
    from TRIAL with LOVE
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 3 июля 2012 г. 15:45, спустя 3 минуты 50 секунд

    мне аж интересно стало, чем все закончится))))
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 3 июля 2012 г. 16:00, спустя 15 минут 3 секунды

    Кончится как всегда. ТС будет послан на хуй.
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 3 июля 2012 г. 17:03, спустя 1 час 2 минуты 13 секунд

    Высокоуровневое абстрактное говно
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 4 июля 2012 г. 9:54, спустя 16 часов 51 минуту 45 секунд

    Такое ощющение что функция просто не работает

    ёбаный стыд

Пожалуйста, авторизуйтесь, чтобы написать комментарий!