今天群友发了一道面试题:第一道是这样的
$a=5;
//求值
echo '$a',"$a","\\\$a","${a}","$a"."$a","$a"+"$a"."<br/>";
//解答:$a5\$a55510
难点:"\\\$a"
/*三个反斜杠,这里解释是,当要匹配一个$的时候用给一个\输出就是$,要匹配\就要\\,
而在双引号引用的php特殊字符,必须要\\也就是两个,"\\\$a",不难理解,这就是
"\\$a"输出$a,而在php解释器中"\\\$"解释为\$.
在双引号匹配特殊字符串中需用\\,要使一个$在模式中匹配,必须使用\\\.
*/
第二道题:有数组,abcdef分别表示6个人,$arr2里的数代表他们的年龄,写程序,输出年龄15岁的人,以及所属班级
$arr1=array(
'班级1'=>array('a','b','c'),
'班级2'=>array('d','e','f'),
);
$arr2=array('a'=>15,'b'=>16,'c'=>15,'d'=>17,'e'=>15,'f'=>14);
第二题答案先放下来:
foreach ($arr1 as $key => $value) {
foreach ($value as $key1 => $value1) {
if($arr2[$value1]==15){
echo "人:".$value1.",班级:".$key."<br/>";
}
}
}