php – 将数组提取到全局变量中
发布时间:2020-12-13 22:07:05 所属栏目:PHP教程 来源:网络整理
导读:The manual on “extract”显示您可以提取如下数组: extract(array('one'=1,'two'=2)); 分成1美元,2美元…… 但是提取函数不返回变量.有没有办法将这些变量“全球化”?也许不是使用提取,而是使用foreach循环? 编辑:(解释我正在努力实现的目标) 我有一个包
The manual on “extract”显示您可以提取如下数组:
extract(array('one'=>1,'two'=>2)); 分成1美元,2美元…… 但是提取函数不返回变量.有没有办法将这些变量“全球化”?也许不是使用提取,而是使用foreach循环? 编辑:(解释我正在努力实现的目标) $englishMessages = array('helloWorld'=>'Hello World'); $spanishMessages = array('helloWorld'=>'Hola Mundo'); '<span id="some">'. $helloWorld .'</span>'; 该消息将出现.我这样做的原因是用户可以更改他们正在查看网站的语言,所以类似于: Hola Mundo! 解决方法
不完全是你的问题的答案……但是:保持数组,不要污染(全局)变量名称空间.
$englishMessages = array('helloWorld'=>'Hello World'); $spanishMessages = array('helloWorld'=>'Hola Mundo'); // wrap this in a nice function/method $lang = $englishMessages; // then use $lang for the output '<span id="some">'. $lang['helloWorld'] .'</span>'; 同一主题的一些变化: function getMessages($language) { static $l = array( 'en'=> array('helloWorld'=>'Hello World'),'es' => array('helloWorld'=>'Hola Mundo') ); // <-- add handling reporting here --> return $l[$language]; } $lang = getMessages('en'); echo '<span id="some">'. $lang['helloWorld'] .'</span>'; 要么 function __($language,$id) { static $l = array( 'en'=> array('helloWorld'=>'Hello World'),'es' => array('helloWorld'=>'Hola Mundo') ); // <-- add error handling here --> return $l[$language][$id]; } echo '<span id="some">'. __('es','helloWorld') .'</span>'; 您可能也对http://docs.php.net/gettext感兴趣 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |