【发布时间】:2014-05-05 19:56:27
【问题描述】:
我有这行代码:
$roomservicesids = array_map(function($v){ return $v['serviceID'];}, $roomsservices);
它在我的 PHP > 5.3 的服务器上运行良好 在另一台服务器上,我的 PHP
$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是一个函数。你为什么要把它传递给in_array? -
我正在尝试检查两个数组中是否存在 serviceID 并仅打印一次表单。你可以在这里看到更多:stackoverflow.com/questions/22460469/…