当我在函数中硬编码数据时,我可以正常初始化变量:
function check_country() {
$countries = array(
'aa',
'ab',
'ae',
...
);
}
PHP 会只$countries
指出内存中的文字数据,还是会将所有初始化数据复制到新的 ZVAL 或其他什么?
如果是后者,那将基本上等同于这个,不是吗?
function check_country() {
$countries = array();
$countries[] = 'aa';
$countries[] = 'ab';
$countries[] = 'ae';
}
另一种方法是使变量静态并像这样初始化它:
function check_country() {
static $countries;
if (!isset($countries))
{
$countries = array(
'aa',
'ab',
'ae',
...
);
}
}
这种技术是否 a) 更快并且 b) 需要两倍的内存?