Home >Backend Development >PHP Tutorial >对一个php foreach的疑问,请高手指点
foreach(array('_POST', '_GET') as $_request) { //array('_POST', '_GET')写在这个foreach循环中是什么意思? foreach($$_request as $_key => $_value) { //为什么前面有$$代表什么意思? $_key{0} != '_' && $$_key = XAddslashes($_value); //$_key{0}这个{0}是什么意思? }}
foreach(array('_POST', '_GET') as $_request) { //array('_POST', '_GET')写在这个foreach循环中是什么意思? //array('_POST', '_GET')是数组(只是没用变量代替),当然能写在foreach里面 foreach($$_request as $_key => $_value) { //为什么前面有$$代表什么意思? //$_request是_POST,那么$$_request就是$_POST,同理$_GET $_key{0} != '_' && $$_key = XAddslashes($_value); //$_key{0}这个{0}是什么意思? //$_key{0},大括号应该是以前的写法吧,可以理解为$_key[0]? }}
其实就是遍历$_GET和$_POST 超全局变量,然后检查键名的第一个字符是否为_ , 如果不是则将键值经XAddslashes() 函数处理后的结果赋值给键名变量。
$_key{0} 表示取$_key 的第一个字符。