私はこのコード行を持っています:
$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
どんな助けでも大歓迎です。