php如何获取淘宝api返回数组里的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php如何获取淘宝api返回数组里的值?相关的知识,希望对你有一定的参考价值。
我用print_r($resp);能打印出xml数据,但是是所有的数据,那么我要取其中一个值怎么办比如“price"的值,应该怎么写代码,另外我在网页需要调用这个值的时候怎么弄
<pre>
<?php
include "api/TopSdk.php";
$c = new TopClient;
$c->appkey = test;
$c->secretKey = test;
$req = new TaobaokeItemsGetRequest;
$req->setFields("nick,iid,title,pic_url,price,click_url,commission,commission_rate,commission_num,commission_volume");
$resp = $c->execute($req);
print_r($resp);
?>
</pre>
没写过淘宝API的代码,不太清楚$resp的具体数据结构,如果仅仅是将符合xml语法的数据当作array来处理,可以考虑以下代码:
function xml_to_array( $xml )
$reg = "/<(\\\\w+)[^>]*?>([\\\\x00-\\\\xFF]*?)<\\\\/\\\\1>/";
if(preg_match_all($reg, $xml, $matches))
$count = count($matches[0]);
$arr = array();
for($i = 0; $i < $count; $i++)
$key = $matches[1][$i];
$val = xml_to_array( $matches[2][$i] ); // 递归
if(array_key_exists($key, $arr))
if(is_array($arr[$key]))
if(!array_key_exists(0,$arr[$key]))
$arr[$key] = array($arr[$key]);
else
$arr[$key] = array($arr[$key]);
$arr[$key][] = $val;
else
$arr[$key] = $val;
return $arr;
else
return $xml;
// Xml 转 数组, 不包括根键
function xmltoarray( $xml )
$arr = xml_to_array($xml);
$key = array_keys($arr);
return $arr[$key[0]];
追问
谢谢你,不过我对php也只懂点基础,你给我这个我也不会用
参考技术A 淘宝api接口也可以生成json格式的结果,我是将json格式的结果转为数组形式,然后读取其中的值,希望对你有所帮助 参考技术B php调用远程api有两种方法,一种是通过fsockopen函数来传输和调用数据.另一种方法是通过php册curl扩展来实现.
现在大部分程序使用的都是fsockopen和pfsockopen这两个函数.
PHP怎么随机获取数组里面的值?
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php,并定义一个数组。
2、在index.php中,输入代码:echo $a[mt_rand(0, count($a) - 1)];。
3、浏览器运行index.php页面,此时随机打印出了数组中的值。
4、浏览器按F5刷新,发现确实是随机的。
参考技术Aphp中可以用随机数函数获取数组里面的值。
1、新建php文档,创建一个数组并把数组赋值给一个变量,这里以“arr”为例:
2、使用“rand”随机数函数,由于数组下标是从0开始,所以函数第一个参数为0,第二个参数为数组的长度再减去1,这样获取到的值为数组下标的随机数:
3、将这个随机数填入数组中,然后将数组中的值输出,这样获取到的值就是数组中随机的值:
参考技术B 方法1:$arr=array(........); //初始化数组
$key=array_rand($arr); //随机获取数组的键
echo $arr[$key]; //输出随机数组值。
改进型:
$arr=array(........);
echo $arr[array_rand($arr)];
方法2:
$arr=array(........); //初始化数组
shuffle($arr); //打乱数组顺序
echo array_shift($arr); //输出新数组的第一个值。
以上是关于php如何获取淘宝api返回数组里的值?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP/Laravel 返回 Json 数据数组?