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

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
我的问题是,为什么会显示出这个错误?如何使第15行在声明function makeVar($array)函数后全局输出“bantya”(不在makeVar的范围内)?
提前谢谢..

最佳答案

我想那会有帮助的。在php中使用extract()。参见下面的示例
$array = ( "bantya" => "BANTYA", "sontya" => "SONTYA", "niltya" => "NILTYA" ); extract($array); var_dump($bantya);
你得到新的变量:$bantya$sontya$niltya

关于php - 如何从数组键制作变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39179914/

10-13 02:55