PHP关联数组如何通过GET参数传入的键名获取对应值?
问题原因
原代码未做参数合法性校验,同时缺少输出<strong>标签的逻辑,可能出现两种异常导致效果不符合预期:
- 未传递
name参数时,PHP会抛出「Undefined index: name」警告 - 传入的
name值不在$age数组的键范围内时,会抛出「Undefined array key」警告,无法正常输出内容
解决代码
<?php $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; // 先校验参数是否存在 if (isset($_GET['name'])) { // 可选:去除输入值首尾空格,避免用户误输入空格导致匹配失败 $value2 = trim($_GET['name']); // 判断传入的name是否在$age数组的键中 if (isset($age[$value2])) { // 输出时包裹strong标签满足格式要求 echo "<strong>" . $age[$value2] . "</strong>"; } } ?>
内容的提问来源于stack exchange,提问作者michaelmcgurk
相关产品推荐
相关产品推荐

