За последние 24 часа нас посетили 17846 программистов и 1703 робота. Сейчас ищут 1768 программистов ...

Как сделать чтобы имя переменной функции менялось по аргументу

Тема в разделе "PHP для новичков", создана пользователем PHP-Chainik12, 21 дек 2018.

Метки:
  1. PHP-Chainik12

    PHP-Chainik12 Новичок

    С нами с:
    31 янв 2018
    Сообщения:
    32
    Симпатии:
    2
    PHP:
    1. function foo($name_var){
    2.     $a = '123';
    3.     $name_var = $a;
    4.     global $name_var;
    5. }
    6. foo('test');
    7. echo $test;
     
  2. yanuzay

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

    С нами с:
    28 мар 2018
    Сообщения:
    501
    Симпатии:
    58
    global $name_var; в конце функции :eek:

    return $name_var;

    ну ты даешь. аааааааааааааааааааааааааааааааааааа
     
  3. PHP-Chainik12

    PHP-Chainik12 Новичок

    С нами с:
    31 янв 2018
    Сообщения:
    32
    Симпатии:
    2
    все же я новичек
    --- Добавлено ---
    Спс
     
  4. Sergey_Tsarev

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

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Лучше класс создай и юзай его свойства.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    В постели мужик кончил и баба начинает орать - "Ты что 6лэ презерватив забыл надеть?". Мужик ей в ответ:
     
    Sergey_Tsarev нравится это.
  6. PHP-Chainik12

    PHP-Chainik12 Новичок

    С нами с:
    31 янв 2018
    Сообщения:
    32
    Симпатии:
    2
    Код (Text):
    1. <?php
    2. function foo($name_var){
    3.     global $name_var;
    4.     $a = '123';
    5.     $name_var = $a;
    6.     return $name_var;
    7. }
    8. foo('test');
    9. echo $test;
    Не работает
     
  7. Sergey_Tsarev

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

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Зачем в параметрах функции (в скобках) прописал пепеменную? Убери её оттуда.
    --- Добавлено ---
    PHP:
    1. function foo($a){
    2.     global $name_var;
    3.     $name_var = $a;
    4.     return $name_var;
    5. }
    6. foo('test');
    7. echo $test;
     
  8. PHP-Chainik12

    PHP-Chainik12 Новичок

    С нами с:
    31 янв 2018
    Сообщения:
    32
    Симпатии:
    2
    Это как?
    --- Добавлено ---
    Код (Text):
    1. function foo $a{
    2. //code
    3. }
    типа так?
    --- Добавлено ---
    не работает
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    @PHP-Chainik12, учи основы, а потом приходи. Удачи.
     
  10. PHP-Chainik12

    PHP-Chainik12 Новичок

    С нами с:
    31 янв 2018
    Сообщения:
    32
    Симпатии:
    2
    PHP:
    1. function foo($a){
    2.     global ${'number'.$a};
    3.     $x = '123';
    4.     ${'number'.$a} = $x;
    5.  
    6. }
    7. foo('test');
    8. echo $numbertest;
    решение
     
  11. Sergey_Tsarev

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

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Я ж тебе написал как))
     
  12. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    @PHP-Chainik12 расскажи конечную цель этих действий. уверен, есть норм решение, а не этот бред.
    > Как сделать чтобы имя переменной функции менялось по аргументу

    имя переменной не меняется. точка.
    изменить значение переменной (а не имя), используя имя как ссылку можно так:

    PHP:
    1. $varname = 'alfa';
    2. ${$varname} = 'new value';
    3. echo $alfa; // выведет 'new value'  
    но скорее всего тебе это не надо, чтобы решить реальную задачу, а не надуманную. погугли "пхп массивы" — я думаю это то, что тебе реально надо.
    --- Добавлено ---
    есть еще сладкая парочка

    $array = compact('varname1', 'varname2', ...)
    и
    export($array),

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

    найти справку по функции xyz можно набрав в адресной строке php.net/xyz