За последние 24 часа нас посетили 66614 программистов и 1632 робота. Сейчас ищут 934 программиста ...

Array to eval

Тема в разделе "PHP для новичков", создана пользователем ckjet, 29 май 2012.

  1. ckjet

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

    С нами с:
    6 апр 2011
    Сообщения:
    172
    Симпатии:
    2
    Как распарсить многомерный массив чтобы его можно было собрать в eval
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Вопрос не понят :)
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    А что там парсить и для чего, что должно быть?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    сериалайз/ансериалайз и евал не нужен
     
  5. ckjet

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

    С нами с:
    6 апр 2011
    Сообщения:
    172
    Симпатии:
    2
    Не, разобрался уже. Мне нужно массив аргументов полученных в func_get_args передовать в другую функцию. Сделал с помощью call_user_func_array
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а просто массив передать не судьба? =)
     
  7. ckjet

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

    С нами с:
    6 апр 2011
    Сообщения:
    172
    Симпатии:
    2
    Не судьба. У меня много методов которые обрабатываю в этом. Соответственно аргументы и их количество тоже разные
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты можешь проверять в той другой функции массив, или даже наличие у него какого-то определенного члена.

    имхо при таком сложном подходе, проще изначально передавать в функцию только массив с членами-переменными, а не кучку аргументов.
     
  9. ckjet

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

    С нами с:
    6 апр 2011
    Сообщения:
    172
    Симпатии:
    2
    Я столкнулся с кешированием результатов запросов. Я написал функцию которая проверяет есть ли в кеше результат выполнения этого метода с такими же аргументами, если есть - возвращает, если нет выполняет метод, кеширует результат и возвращает его. У меня 71 таблица и соответственно 71 модель, в каждой моделе от 10 до 30 методов. Перспектива писать в каждом обработчик совсем не радует )
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я наверное криво выразился. Я имел ввиду, сделать у каждой функции один единственный аргумент.
    Сразу все функции принимаю один аргумент - массив. А не кучку аргументов, как обычно.
     
  11. ckjet

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

    С нами с:
    6 апр 2011
    Сообщения:
    172
    Симпатии:
    2
    Ну это я понял, только это по ним проходится и менять совсем не хочется
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    =) да, понимаю. Было тоже такое разок. Но я себя заставил и друга попросил помочь.
     
  13. ckjet

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

    С нами с:
    6 апр 2011
    Сообщения:
    172
    Симпатии:
    2
    Ну я такое решение нашел ))