我的代码如下:
drupal_add_http_header('Content-Type', 'text/html');
我想要取得的成功是将变量foreach($client->GetSMSMessages($params)->GetReceivedMessages->ReceivedMessage as $value){
foreach($get_customer as $customer){
if(substr($customer['mobile'],1) == $value->MobileNumber || $customer['mobile'] == $value->MobileNumber){
$name = $customer['name'];
}else{
$name = '';
}
}
$json['received'][] = array (
//'rec_id' => $value->SMSID,
'rec_sms' => $value->Body,
'rec_customer' => $name,
'rec_tel' => $value->MobileNumber,
'rec_date' => $value->DateTime
);
}
与$customer['mobile']
进行比较,如果有任何值匹配则打印客户名称($value->MobileNumber
)。
有什么想法吗?
感谢您的帮助
答案 0 :(得分:1)
找到匹配项时停止循环,因此在下一次迭代时不要将$name
设置回''
。
实际上,没有必要每次都设置$name = ''
。只需在循环之前初始化它,并在找到匹配项时将其设置为找到的客户名称。
foreach($client->GetSMSMessages($params)->GetReceivedMessages->ReceivedMessage as $val){
$name = '';
foreach($get_customer as $customer){
if(substr($customer['mobile'],1) == $value->MobileNumber || $customer['mobile'] == $value->MobileNumber){
$name = $customer['name'];
break;
}
}
$json['received'][] = array (
//'rec_id' => $value->SMSID,
'rec_sms' => $value->Body,
'rec_customer' => $name,
'rec_tel' => $value->MobileNumber,
'rec_date' => $value->DateTime
);
}