是一个短信接口:调用的代码如下:$res = file_get_contents("http://XXXXXXX/webservice.asmx/mt?Sn=$name&Pwd=$pwd&mobile=$tel&content=$msg");
print_r($res);print_r($res)后获得一段XML代码,如下: <?xml version="1.0" encoding="utf-8" ?>
<int xmlns="http://tempuri.org/">0</int>
看到这段代码中的0了么?我标了红色。如果返回值是0,则发送成功。
但是我这样判断是不可以的:if($res=="0"){
mysql_query("update sms set etime=now(),wei='发送成功' where sms_id='$sms_id'");
}请问我应该怎样判断获取到了0并在数据库中更新发送状态?
print_r($res);print_r($res)后获得一段XML代码,如下: <?xml version="1.0" encoding="utf-8" ?>
<int xmlns="http://tempuri.org/">0</int>
看到这段代码中的0了么?我标了红色。如果返回值是0,则发送成功。
但是我这样判断是不可以的:if($res=="0"){
mysql_query("update sms set etime=now(),wei='发送成功' where sms_id='$sms_id'");
}请问我应该怎样判断获取到了0并在数据库中更新发送状态?
用正则判断preg_match('/<int xmlns="http\:\/\/tempuri.org\/">0<\/int>/uU', $res)
判断$match 为True或False
有人能版本帮帮我么?
if($r[1]=="0"){
mysql_query("update sms set etime=now(),wei='发送成功' where sms_id='$sms_id'");
}
echo $xml[0];
当然你去解析也不是错误,只是多耗点资源而已,先加载一个dom class,再parse
如果你要获得一个xml节点(复杂点的),再考虑后一种方法吧#3的正则是一样的,但从返回的字串判断
你这情况就执行与不执行的布林值,所以我觉得连返回都可以省了
直接判断preg_match()是否True就够了