Никак не получается составить переменную $user из других переменных и строк, чтобы получилось $user = $vasya_email["personal"]. Где же ошибка ? PHP: // $vasya_email["personal"] = (string)"123@123.ru"; $name = (string)"vasya"; $select_type = (string)"home"; $type = ["home"=>"personal", "work"=>"business"]; $home = $type[$select_type]; $user = ${$name."_email"."[".$home."]"}; var_dump($user); // NULL
Для начала переменная переменных не будет работать с "[" и "]", так как переменная переменной берет значение переменной и рассматривает его как имя переменной,а имена переменных могут содержать следующее [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