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

Строка в число

  • Kikky

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

    Spritz 24 января 2011 г. 22:05

    Есть массив $cod= array('1', '+', '2')

    нужно в переменной $res получить 3 как число.
    я конечно понимаю, что можно преобразовать отдельно нулевой и второй элементы массива в числа без проблем, но как быть со знаком?…я не могу сделать просто
    $first = (int) $cod[0];
    $second = (int) $cod[1];
    $res = $first + $second;
    …но знак рандомно генерируется(то -, то +)…как это сделать? подскажите пожалуйста :)
  • Frozzeg

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

    Spritz 24 января 2011 г. 22:15, спустя 9 минут 57 секунд

    $cod= array('1', '+', '-', '2');
    $res = laja($cod[0], $cod[3], $cod[rand(1, 2)]);

    function laja($first, $second, $operand)
    {
     switch ($operand)
    {
       case '-':
         return $first - $second;
       case '+':
        return $first + $second;
    }
    }
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Kikky

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

    Spritz 24 января 2011 г. 23:07, спустя 51 минуту 39 секунд

    Frozzeg, большое спасибо, делаю математическую капчу изображением, столкнулся вот с таким вот :)
  • fgets

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

    Spritz 25 января 2011 г. 0:44, спустя 1 час 37 минут 21 секунду


    $cod= array('1', '+', '-', '2');
    $res = laja($cod[0], $cod[3], $cod[rand(1, 2)]);

    function laja($first, $second, $operand)
    {
     switch ($operand)
    {
       case '-':
         return $first - $second;
       case '+':
        return $first + $second;
    }
    }



    это же говнокод
  • fgets

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

    Spritz 25 января 2011 г. 2:23, спустя 1 час 38 минут 10 секунд

    eval(echo str_split(array('1', '+', '2')););
  • Kikky

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

    Spritz 25 января 2011 г. 2:46, спустя 23 минуты 8 секунд

    И вам спасибо)…функция eval() то что нужно :)
  • Frozzeg

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

    Spritz 25 января 2011 г. 3:42, спустя 56 минут 29 секунд

    ребята, где творческий подход
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.

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