[英]How to rewrite this PHP code that uses array_map?
我有这行代码:
$roomservicesids = array_map(function($v){ return $v['serviceID'];}, $roomsservices);
它在我的PHP> 5.3的服务器上运行良好,而在我的PHP <5.3的另一台服务器上,则不起作用。 我试图这样重写它:
$roomservicesids = create_function('$v', 'return $v["serviceID"];,$roomsservices');
foreach ($services as $key1=>$value){
if(in_array($value['serviceID'], $roomservicesids)){ //error is in this line
echo "<input type='checkbox' name='services[]' id= '".$value['serviceID']."' value='" .$value['serviceID'] ."' checked = 'checked' class='zcheckbox' />";
}else{
echo "<input type='checkbox' name='services[]' id= '".$value['serviceID']."' value='" .$value['serviceID'] ."' class='zcheckbox' />";
}
echo "<label>" .$value['serviceName']. "</label>";
}
但我得到一个错误,说:
Message: in_array() [function.in-array]: Wrong datatype for second argument
Line Number: 104
任何帮助将不胜感激。
$roomservicesids = array_map(function($v){ return $v['serviceID'];}, $roomsservices);
这是获取每个数组元素的serviceID
的紧凑方法。 您可以使用如下所示的显式循环来做到这一点:
$roomservicesids = array();
foreach ($roomsservices as $service) {
$roomservicesids[] = $service['serviceID'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.