За последние 24 часа нас посетили 22740 программистов и 1217 роботов. Сейчас ищут 798 программистов ...

Составные переменные

Тема в разделе "Сделайте за меня", создана пользователем Gorgoroth, 15 фев 2017.

  1. Gorgoroth

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

    С нами с:
    15 июл 2012
    Сообщения:
    8
    Симпатии:
    0
    Никак не получается составить переменную $user из других переменных и строк, чтобы получилось
    $user = $vasya_email["personal"]. Где же ошибка ?

    PHP:
    1. // $vasya_email["personal"] = (string)"123@123.ru";
    2.  
    3. $name = (string)"vasya";
    4. $select_type = (string)"home";
    5.  
    6. $type = ["home"=>"personal", "work"=>"business"];
    7.  
    8. $home = $type[$select_type];
    9.  
    10.  
    11. $user = ${$name."_email"."[".$home."]"};
    12.  
    13.  
    14. var_dump($user); // NULL
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Может потому что не надо так делать? Опиши систему в которой такое извращение применяется.
     
  3. Gorgoroth

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

    С нами с:
    15 июл 2012
    Сообщения:
    8
    Симпатии:
    0
    какая разница. в данном случае мне надо выбрать нужный массив исходя из поступающих данных
     
  4. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Для начала переменная переменных не будет работать с "[" и "]", так как переменная переменной берет значение переменной и рассматривает его как имя переменной,а имена переменных могут содержать следующее [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff].Я детально в твой код не вникал,но увидев "[" и "]" могу точно сказать что работать он не будет как ты задумывал:
    https://secure.php.net/manual/ru/language.variables.variable.php
    https://secure.php.net/manual/ru/language.variables.basics.php
     
  5. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ${$name."_email"}[$home];
     
  6. Gorgoroth

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

    С нами с:
    15 июл 2012
    Сообщения:
    8
    Симпатии:
    0
    спасибо так и есть )