如何从数组键

时间:2016-08-27 10:10:10

标签: php arrays function scope global-variables

我试图将数组的键提取为变量。我有以下代码:

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范围之外)全局?

提前致谢..

1 个答案:

答案 0 :(得分:1)

我认为这会有所帮助。在PHP中使用extract()。见下面的例子

$array = ( "bantya" => "BANTYA", "sontya" => "SONTYA", "niltya" => "NILTYA" ); extract($array); var_dump($bantya);

您获得了新的var:$bantya$sontya$niltya