函数提取和特殊字符

时间:2016-09-08 07:51:26

标签: php arrays

我想知道如果我对带有特殊字符的数组索引执行extract()会发生什么。

例如,如果我在youtube上创建了一个get_meta_tags,那么我的数组就是$array['og:url'] = 'http://....'

如果我制作extract($array),会发生什么? $og: url

1 个答案:

答案 0 :(得分:0)

当您阅读extract的文档时,有一行说明:

  

检查每个密钥以查看它是否具有有效的变量名称。

但我为你试了一下。这是我试过的代码:

$array = array(
    'foo-čťžý' => 'bar',
    'og:url' => 'https://google.com/',
    'test' => 'test'
);

extract($array);

echo '<pre>';
print_r(get_defined_vars());
echo '</pre>';

结果将是:

Array
(
    [_GET] => Array
        (
        )

    ...

    [array] => Array
        (
            [foo-čťžý] => bar
            [og:url] => https://google.com/
            [test] => test
        )

    [test] => test
)

所以你可以清楚地看到,这些变量不会被提取。要试用此代码,请访问此网站PHPTESTER