我可以帮您翻译成中文。这段话的意思是:我有一个 PHP 文件,想要用它来处理数据。该 PHP 文件包含一个函数,该函数以数组作为参数。
“PHP 函数”如下:
我是使用AFNetworking来连接Objective-C和php代码的。
Objective-C代码:
然而,当我运行此代码时,其中的PHP文件函数不能正常运行,并且出现错误。我认为问题出在如何将数组作为参数传递上。
“PHP 函数”如下:
func((array)$input->foos as &$foo){
$request = mb_strtolower($foo->request);
$found = false;
$loopCount = 0;
while($found === false && $loopCount < 3){
if($request === 'single' || $request === 'corner'){
$foo->request = $single_priority[$loopCount];
}
else if($request === 'double'){
$foo->request = $double_priority[$loopCount];
}
else if($request === 'quad'){
$foo->request = $quad_priority[$loopCount];
}
$rooms = getRooms($foo, $link, $roomcounts[$foo->request]);
if($room = $rooms->fetch_assoc()){
$found = true;
if ($loopCount === 0){
if(!$link->query("REPLACE INTO reservations VALUES('{$room['room_id']}', '{$foo->user_id}',
'{$foo->move_in_date}', '{$foo->move_out_date}', 'Incoming', '{$foo->date_added}')")){
$arr = array();
$arr['error'] = "Error: " . $link->error;
echo json_encode($arr);
die();
}
array_push($result, array('user_id' => $foo->user_id, 'room_assigned' => $room['room_id'], 'request_status' => 0));
if(!$link->query("DELETE FROM res_waiting WHERE user_id = '{$foo->user_id}'")){
$arr = array();
$arr['error'] = "Error: " . $link->error;
echo json_encode($arr);
die();
}
}
else{
if(!$link->query("INSERT IGNORE INTO reservations VALUES('{$room['room_id']}', '{$foo->user_id}',
'{$foo->move_in_date}', '{$foo->move_out_date}', 'Incoming', '{$foo->date_added}')")){
$arr = array();
$arr['error'] = "Error: " . $link->error;
echo json_encode($arr);
die();
}
array_push($result, array('user_id' => $foo->user_id, 'room_assigned' => $room['room_id'], 'request_status' => 1));
}
}
$loopCount += 1;
}
if (found === false){
array_push($result, array('user_id' => $foo->user_id, 'room_assigned' => 0, 'request_status' => 2));
}
}
我是使用AFNetworking来连接Objective-C和php代码的。
Objective-C代码:
-(void) connectToPHP:(NSArray *)parameters
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
NSString *URLString = [[NSString alloc] initWithFormat:@"ip.address/email.php"];
[manager POST:URLString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSData *jsonData = responseObject;
NSError * error=nil;
id reponse = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
NSLog(@"JSON response: %@", [reponse objectForKey:@"response"]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if(error){
NSLog(@"%@ Error:", error);
}
}];
}
函数调用:
NSDictionary *foo = @{
@"id" : @"2011011",
@"request" : @"single",
@"gender" : @"M",
@"username" : @"name",
};
NSArray *arr = [NSArray arrayWithObjects:foo, nil];
[self connectToPHP:arr];
然而,当我运行此代码时,其中的PHP文件函数不能正常运行,并且出现错误。我认为问题出在如何将数组作为参数传递上。