我试图将数组的键提取为变量。我有以下代码:
01 | $array = [
02 | "bantya" => "BANTYA",
03 | "sontya" => "SONTYA",
04 | "niltya" => "NILTYA"
05 | ];
06 |
07 | function makeVar ($array) {
08 | foreach ($array as $key => $value) {
09 | $$key = $value;
10 | }
11 | echo $bantya;
12 | }
13 |
14 | makeVar($array);
15 | echo $bantya;
问题是,第11行正确地回应了“BANTYA”,但第15行的相同情况并非如此。它说:
Notice: Undefined variable: bantya in file\path on line 15
我的问题是,为什么会出现此错误?在声明function makeVar($array)
函数后,如何使第15行输出“BANTYA”(在makeVar
范围之外)全局?
提前致谢..
答案 0 :(得分:1)
我认为这会有所帮助。在PHP中使用extract()
。见下面的例子
$array = (
"bantya" => "BANTYA",
"sontya" => "SONTYA",
"niltya" => "NILTYA"
);
extract($array);
var_dump($bantya);
您获得了新的var:$bantya
,$sontya
,$niltya