当前位置: 代码迷 >> PHP >> 调用接口有关问题
  详细解决方案

调用接口有关问题

热度:252   发布时间:2012-03-31 13:13:26.0
调用接口问题
返回的数据用var_dump输出是:

object(stdClass)#7 (2) { ["GetCustomerListResult"]=> object(stdClass)#8 (2) { ["schema"]=> string(894) "" ["any"]=> string(21628) "
0.1000hzbfcsqyglv@xxx.cn2011-10-19T15:14:47+08:0043889信息技术有限公司
信息技术有限公司
0.3000hzbfxxjsglv@xxx.cn2011-10-19T15:20:45+08:0043891教育
商务大厦东三楼
0.3000jsjyglv@xxx.cn2011-10-19T15:27:01+08:0043893留学
国际大厦1号楼
0.3000ucasliuxueglv@xxx.cn2011-10-19T15:30:17+08:0043894国联
北园18-19幢
0.3000zgglglv@xxx.cn2011-10-19T15:32:21+08:0043896教育
浙江
0.3000xdjyglv@xxx.cn2011-10-19T15:34:29+08:0097479上海
上海
0.3000shjrglv@xxxx.cn2011-12-09T12:01:56+08:0097688南京
南京
0.3000njjrglv@xxx.cn2011-12-09T13:40:49+08:0097690广州
广州
0.3000gzjrglv@xx.cn2011-12-09T13:51:40+08:0097691深圳
深圳
0.3000szjrglv@xx.cn2011-12-09T13:53:56+08:0097692苏州
苏州
0.3000suzjrglv@xx.cn2011-12-09T13:56:23+08:0097693常州
常州
0.3000czjrglv@xx.cn2011-12-09T13:58:26+08:0097699无锡
无锡

现在要把它处理好保存到数据库……
怎么办?

------解决方案--------------------
$str=$obj->GetCustomerListResult->any; 得到字符串,然后用正则函数、字符函数把字符串处理好,再入库
------解决方案--------------------
PHP code
$s = <<< TXT
0.1000hzbfcsqyglv@xxx.cn2011-10-19T15:14:47+08:0043889信息技术有限公司
信息技术有限公司
0.3000hzbfxxjsglv@xxx.cn2011-10-19T15:20:45+08:0043891教育
商务大厦东三楼
0.3000jsjyglv@xxx.cn2011-10-19T15:27:01+08:0043893留学
国际大厦1号楼
0.3000ucasliuxueglv@xxx.cn2011-10-19T15:30:17+08:0043894国联
北园18-19幢
0.3000zgglglv@xxx.cn2011-10-19T15:32:21+08:0043896教育
浙江
0.3000xdjyglv@xxx.cn2011-10-19T15:34:29+08:0097479上海
上海
0.3000shjrglv@xxxx.cn2011-12-09T12:01:56+08:0097688南京
南京
0.3000njjrglv@xxx.cn2011-12-09T13:40:49+08:0097690广州
广州
0.3000gzjrglv@xx.cn2011-12-09T13:51:40+08:0097691深圳
深圳
0.3000szjrglv@xx.cn2011-12-09T13:53:56+08:0097692苏州
苏州
0.3000suzjrglv@xx.cn2011-12-09T13:56:23+08:0097693常州
常州
0.3000czjrglv@xx.cn2011-12-09T13:58:26+08:0097699无锡
无锡
TXT;

preg_match_all("/^([\d.]+)([a-z@.]+)([-\d:+T]+)\d{5}(.+)/im", $s, $r);
foreach($r[1] as $i=>$v) {
  $res[] = array(
    'price' => $v,
    'email' => $r[2][$i],
    'date' => date('Y-m-d H:i:s', strtotime(str_replace('T', ' ', $r[3][$i]))),
    'customer' => $r[4][$i],
    );
}
print_r($res); 
  相关解决方案