За последние 24 часа нас посетили 16194 программиста и 1553 робота. Сейчас ищут 890 программистов ...

Передача неопределенного числа аргументов из функции в функ.

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

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Возможно вопрос покажется специфичным, вот смотрите, если мне надо передать неопределенное число переменных в метод я использую внутри функции func_get_args

    т.е.

    Код (Text):
    1. function fns() {
    2. $args = func_get_args();
    3. // ...
    4. }
    5.  
    6. fns($a, $b, $c);
    Все переменные ($a, $b, $c) внутри метода окажутся в массиве $args.

    а как можно из этого метода передать в другой метод данные параметры? но не в виде одного массива? а так же, т.е. что бы это выглядело примерно так:

    Код (Text):
    1. function first() {
    2. // ...
    3. }
    4.  
    5.  
    6. function fns() {
    7. $args = func_get_args();
    8.  
    9. first($a, $b, $c);
    10. }
    11.  
    12. fns($a, $b, $c);
    соответственно число параметров передаваемых разное каждый раз.
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    А что если передавать не много переменных, а всего одну — массив?
    Код (PHP):
    1. function first($arr) {
    2.   // ...
    3. }
    4.  
    5. function fns($arr) {
    6.   // ...
    7.   first($arr);
    8. }
    9.  
    10. fns(array($a, $b, $c));
    ;)
     
  3. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Re: Передача неопределенного числа аргументов из функции в ф

    массив не хочет
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Re: Передача неопределенного числа аргументов из функции в ф

    К сожалению не катит, да и наверное уже не нужно, нашелся другой вариант решения проблемы..
     
  5. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Re: Передача неопределенного числа аргументов из функции в ф

    точно, бегло читал, пропустил
    ну, рассказывай
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Re: Передача неопределенного числа аргументов из функции в ф

    можно использовать поля класса

    Добавлено спустя 44 секунды:
    Re: Передача неопределенного числа аргументов из функции в функ.
    сеттеры геттеры
     
  7. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Re: Передача неопределенного числа аргументов из функции в ф

    Как передать я не нашел, пришлось для своего конкретного случая искать альтернативу.

    Вообще это это класс выполняющий запрос к БД, там функция принимает параметры, подготавливает, экранирует их и потом выполняет, а результат и сам запрос записывается в поля класса.
    Я хотел разбить эту функцию на 2, подготовка и добавление, так же добавить еще функции,что бы можно было выполнить запрос как в одну функцию, так и в две (подготовить и добавить), вообщем не слушайте меня, по мне плачет сумасшедший дом.
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Re: Передача неопределенного числа аргументов из функции в ф

    Усе гуд, поиск решений это хорошо. Но стоит отвлечься от ноута, почитать и мыслица придет в голову. У меня так часто бывает. И вполне реализуемая задача у вас.
     
  9. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Re: Передача неопределенного числа аргументов из функции в ф

    У меня еще такой вопрос возник, функция - func_get_args, а есть что то подобное что бы только ассоциативный массив возвращала
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Передача неопределенного числа аргументов из функции в ф

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

    массив это удбоно. если б только более удобный синтаксис у пхп был в массивах, было бы идеально.
     
  11. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Re: Передача неопределенного числа аргументов из функции в ф

    ну он (синтаксис в массиве) вроде и так, более проще некуда..
     
  12. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Re: Передача неопределенного числа аргументов из функции в ф

    call_user_func_array
     
  13. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Передача неопределенного числа аргументов из функции в ф

    ну тогда массив - лучшее решение

    и я не про простоту, а я про два символа => вместо просто равно :D