欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

对一个php foreach的疑问,请高手指点

程序员文章站 2022-05-17 11:13:21
...
foreach(array('_POST', '_GET') as $_request) { //array('_POST', '_GET')写在这个foreach循环中是什么意思?	foreach($$_request as $_key => $_value) { //为什么前面有$$代表什么意思?		$_key{0} != '_' && $$_key = XAddslashes($_value); //$_key{0}这个{0}是什么意思? 	}}


一个php foreach的疑问,请高手指点,不太懂,我是新手,不过我还是第一次见过这样的写法,不懂,请指点。。


回复讨论(解决方案)


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 的第一个字符。