snowmanJS
/*
解决方法一:1.首先$filepath在for中的if中,所以其作用域只能在if语句中,在其他位置都不能调用它,因此系统提示undefined。应该把$filepath放在for的上面定义;2.你的for语句中应该要加上 next($arr)。因为,调用 key()和current()这两个函数的时候,指针不会自动移动,调用next()可使指针向下一个移动。
*/
$data = 'L-15';
$filepath="";
$arr =array('L-12'=>'1265-50-7 20160720 7_IESNA95.IES',
'L-15'=>'1565-50-7 20160720 7_IESNA95.IES');
for($i = 0, $n = count($arr);$i
if($data == key($arr)){
$filepath = current($arr);
break;
}
next($arr);
}
var_dump($filepath);
?>
/*
解决方法二:使用foreach循环,可以更简洁的解决问题。
*/
$data = 'L-15';
$filepath="";
$arr =array('L-12'=>'1265-50-7 20160720 7_IESNA95.IES',
'L-15'=>'1565-50-7 20160720 7_IESNA95.IES');
foreach($arr as $key=>$value){
if($data == $key){
$filepath = $value;
break;
}
}
var_dump($filepath);
?>