Недавно я нашел еще один вопрос с stackoverflow со следующим:
$segments = array(
"key1" =>"111",
"key2" =>"222",
"key3" =>"333",
"key4" =>"444"
);
Я хочу иметь такие:
$key1 has the value of "111";
$key2 has the value of "222";
$key3 has the value of "333";
$key4 has the value of "444";
Ответ состоял в том, чтобы использовать extract($segments)
.
Я хотел бы добиться чего-то нелогичного, у меня есть следующий массив
$test = array('hello','world');
Я в идеале хочу пропустить их и использовать значение массива в качестве имени переменной, например:
$test2 = array('hello','world');
foreach($test as $v)
{
$$v = $v;
}
Поэтому после цикла я мог бы эхом сказать $hello
и это приведет к выходному hello
.
Может ли кто-нибудь сказать мне, как я мог бы это достичь. Если есть метод без цикла и т.д., То отлично. Я понимаю, что мой пример можно сделать по-другому, чтобы этот вопрос был излишним, но я спрашиваю из любопытства и моих знаний.
Массивы лучше, и вам редко приходится когда-либо extract
или переменные переменные, но это путь (только ради знания):
$test2 = array('hello','world');
extract(array_combine($test2, $test2));