+ Ответить в теме
Показано с 1 по 15 из 15
  1. #1
    Новичок
    Регистрация
    17.06.2010
    Адрес
    В.Новгород
    Сообщений
    22

    генерация строки

    вообщем, допустим
    $var =4;

    Нужно сделать так, чтобы генерировался код вида:
    Код:
    if($return[0] == $var[0] || $return[0] == $var[1] || $return[0] == $var[2] || $return[0] == $var[3] || $return[0] == $var[4]) {
    Помогите, очень срочно!
    Не строка, а КОД. Т.е это условие должно не выдаваться а выполняться.

  2. #2
    судя по коду $var у вас массив, а вы суете ему переменную!

  3. #3
    Опытный Аватар для Inlife
    Регистрация
    15.08.2010
    Адрес
    Kyiv, Ukraine
    Сообщений
    338
    Цитата Сообщение от bafoed Посмотреть сообщение
    вообщем, допустим
    $var =4;

    Нужно сделать так, чтобы генерировался код вида:
    Код:
    if($return[0] == $var[0] || $return[0] == $var[1] || $return[0] == $var[2] || $return[0] == $var[3] || $return[0] == $var[4]) {
    Помогите, очень срочно!
    Не строка, а КОД. Т.е это условие должно не выдаваться а выполняться.
    PHP код:

    $code 
    = array();
    $var 4//кол-во раз выполнится цикл
    for($i 0;$i <= $var;$i++) {
      
    $code[] = '$return[0] == $var['.$i.']'//в массив code записывается каждая строка
    }

    $str implode(' || ',$code); // массив превращается в строку с добавлением || между ними
    $gen_str 'if('.$str.') {'//добавляется условие


    eval($gen_str); // выполняет код который содержится в строке 

    код работает,по крайней мере если вы правильно изложили свою мысль
    Последний раз редактировалось Inlife; 07.09.2010 в 19:46.

  4. #4
    Новичок
    Регистрация
    17.06.2010
    Адрес
    В.Новгород
    Сообщений
    22
    нужно условие. например
    есть введенное расширение
    $var = txt,jpg,rar;

    и файл
    $return = mp3;

    нужно условие вида
    Код:
    $var = explode(",", "$var");
    if($return == $var[1] || $return == $var[1] || $return] == $var[2] || $return == $var[3]) {
    echo "FOUND!";
    } else {
    echo "DONT!";
    }
    готовым не поделитесь?
    Последний раз редактировалось bafoed; 07.09.2010 в 20:45.

  5. #5
    PHP код:
    $var explode(","$var);
    if(
    $return == $var[1] || $return == $var[1] || $return == $var[2] || $return == $var[3]) {
    echo 
    "FOUND!";
    } else {
    echo 
    "DONT!";

    Попробуйте так по идее должно работать !

  6. #6
    Новичок
    Регистрация
    17.06.2010
    Адрес
    В.Новгород
    Сообщений
    22
    кэп?
    мой код такой же
    нужно чтобы из строчек кода

    $var = txt,jpg,rar;
    $return = mp3;

    генерировалось условие, для проверки, есть ли) можно кстати даже не == а функцию поиска в строке

  7. #7
    Цитата Сообщение от bafoed Посмотреть сообщение
    кэп?
    мой код такой же
    нужно чтобы из строчек кода

    $var = txt,jpg,rar;
    $return = mp3;

    генерировалось условие, для проверки, есть ли) можно кстати даже не == а функцию поиска в строке
    Ти наверное очень опытный, если сразу сравнил свой код и мой!

  8. #8
    Новичок
    Регистрация
    17.06.2010
    Адрес
    В.Новгород
    Сообщений
    22
    всмысл е???

  9. #9
    Цитата Сообщение от bafoed Посмотреть сообщение
    всмысл е???
    в прямом! Можешь попробывать следующее условие:


    PHP код:

    $var 
    "txt,jpg,rar,mp3";
    $return "mp3";
         if (
    strpos($var,$return)){
     echo 
    "FOUND!"
                                                 } 
          else { 
      echo 
    "DONT!"
                   } 
    Последний раз редактировалось Acid-UA; 07.09.2010 в 21:47.

  10. #10
    Опытный Аватар для Inlife
    Регистрация
    15.08.2010
    Адрес
    Kyiv, Ukraine
    Сообщений
    338
    Цитата Сообщение от bafoed Посмотреть сообщение
    кэп?
    мой код такой же
    нужно чтобы из строчек кода

    $var = txt,jpg,rar;
    $return = mp3;


    генерировалось условие, для проверки, есть ли) можно кстати даже не == а функцию поиска в строке
    а сразу так нельзя было сказать ?))

    PHP код:

    $var 
    txt,jpg,rar;
    $return mp3;


    if (
    preg_match("/.*".$return.".*/i",$var)) {
    print 
    "есть";
    }else{
    print 
    "нету";


  11. #11
    Опытный Аватар для Inlife
    Регистрация
    15.08.2010
    Адрес
    Kyiv, Ukraine
    Сообщений
    338
    Цитата Сообщение от Acid-UA Посмотреть сообщение
    в прямом! Можешь попробывать следующее условие:


    PHP код:

    $var 
    "txt,jpg,rar,mp3";
    $return "mp3";
            if (
    strpos($var,$return)){
                                 echo 
    "FOUND!"
                                                                                                   } 
                              else { 
                                echo 
    "DONT!"
                                      } 
    ВОТ утебя уже есть 2 варианта!

  12. #12
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,295
    +Вариант
    PHP код:
    $var = array("txt""jpg""rar");
    $return "mp3";

    if( 
    array_search($return$var) === false ){
     print 
    "не есть :)";
    }else{
     print 
    "есть";

    Последний раз редактировалось xsnakes; 08.09.2010 в 15:33.

  13. #13
    Новичок
    Регистрация
    17.06.2010
    Адрес
    В.Новгород
    Сообщений
    22
    больше всего понятен способ от Acid-UA.

    спасибо за помощь

  14. #14
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,295
    Цитата Сообщение от bafoed Посмотреть сообщение
    больше всего понятен способ от Acid-UA.

    спасибо за помощь
    А в этом нет нечего странного! Просто прочитав первый пост всё сразу становится понятным... !

    А пример Acid-UA работает не правильно! Пример:
    PHP код:
    $var "zipdspak,rar,jpg";
    $return "pak"// вернёт FOUND, НО ТАКОГО РАСШИРЕНИЯ НЕТ В СТРОКЕ!!!
    if (strpos($var,$return)){
     echo 
    "FOUND!";
    }else {
     echo 
    "DONT!";

    Пример2 не правильной работы его кода:
    PHP код:
    $var "zip,rar,jpg";
    $return "zip"// если будем искать любое расширение стоящие в начале, ВЫДАСТ DONT!
    if (strpos($var,$return)){
     echo 
    "FOUND!";
    }else {
     echo 
    "DONT!";


  15. #15
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,295
    PHP код:
    $var = array("txt""jpg""rar");
    $return "mp3";

    if( 
    array_search($return$var) === false ){
     print 
    "не есть :)";
    }else{
     print 
    "есть";

    Всёже советую свой код
    И "покурить" ссылку http://www.php.su/functions/?array-search
    Также код можно подстроить пот строку "txt,jpg,rar"!
    Пример:
    PHP код:
    $var explode",""txt,jpg,rar" ); // чтобы не заполнять массив... просто разобьём строку на массив
    $return "mp3";

    if( 
    array_search($return$var) === false ){
     print 
    "не есть :)";
    }else{
     print 
    "есть";


Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения