PHP中循环遍历Session数组键无效,如何替代显式声明解决?
PHP循环遍历$_REQUEST序号化键的问题解决
你写的循环代码无法运行的核心原因是构建数组键名时多添加了不必要的单引号:
你在代码里生成的键是'text1'(带单引号),但实际存在的键是text1(无单引号),自然取不到对应的值。
修正后的代码很简单,去掉多余的单引号即可:
// 修正后的可运行代码 for($x=1;$x<4;$x++){ echo "<br>$x".$_REQUEST["text".$x]; }
如果想让代码更简洁,利用PHP双引号的变量解析特性,可以写成:
for($x=1;$x<4;$x++){ echo "<br>$x{$_REQUEST["text$x"]}"; }
另外,作为新手建议养成安全习惯:在取值前先检查键是否存在,避免出现Undefined index的警告,代码示例如下:
for($x=1;$x<4;$x++){ $key = "text".$x; if(isset($_REQUEST[$key])){ echo "<br>$x".$_REQUEST[$key]; } else { echo "<br>$x: 未获取到对应值"; } }
内容的提问来源于stack exchange,提问作者das
相关产品推荐
相关产品推荐

