Php Facebook Stream.Get--如何访问数组中的数据?
在Php Facebook Stream.Get--如何访问数组中的数据?,php,api,facebook,get,stream,Php,Api,Facebook,Get,Stream,在stream.get上,我尝试 echo $feeds["posts"][$i]["attachment"]["href"]; 它返回URL,但在“type”所在的同一数组范围内(返回字符串:视频等),尝试$feeds[“posts”][$i][“attachment”][“type”]根本不返回任何内容 下面是通过PHP的var\u dump得到的一个数组: 那么,从测试来看,我想这是受Facebook保护的?这有意义吗 这里是full:,但并非所有附件/媒体/类型都有值 这也很奇怪,因为
stream.get
上,我尝试
echo $feeds["posts"][$i]["attachment"]["href"];
它返回URL,但在“type”所在的同一数组范围内(返回字符串:视频等),尝试$feeds[“posts”][$i][“attachment”][“type”]
根本不返回任何内容
下面是通过PHP的var\u dump
得到的一个数组:
那么,从测试来看,我想这是受Facebook保护的?这有意义吗
这里是full:,但并非所有附件/媒体/类型都有值
这也很奇怪,因为我无法通过[attachment][media][href]
或[attachment][media][type]
访问,如果我尝试[attachment][media][0][type]
或href
,它会给我一个字符串偏移错误
["attachment"]=> array(8) {
["media"]=> array(1) {
[0]=> array(5) {
["href"]=> string(55) "http://www.facebook.com/video/video.php?v=1392999461587"
["alt"]=> string(13) "IN THE STUDIO"
["type"]=> string(5) "video"
我的问题是,这是否受到Facebook的保护?或者我们真的可以访问这个数组位置?好吧,一旦数据返回给你,Facebook就不能再保护它了。您可以作为常规数据结构完全访问结果中的所有内容 从外观上看,有多个
href
属性,因此您需要小心选择哪个属性$feeds[“posts”][$i][“attachment”][“href”]
是某些项目的有效元素,但是$feeds[“posts”][$i][“attachment”][“media”][0][“href”]
也是有效元素
不过,似乎没有$feeds[“posts”][$i][“attachment”][“type”]
元素,因此您无法从该特定项目中获得任何东西。但是,[“附件”][“媒体”][0]
中有一个类型,这可能就是您想要的
如果在使用数组语法时出现字符串偏移错误,则可能是在某个地方混淆了一个元素。可以通过数组语法访问字符串。例如:
$str = "string";
echo $str[1]; //echos 't'
如果试图访问大于字符串的索引,则会收到偏移量警告。在任何情况下,从该输出的外观来看,
$feeds[“posts”][$i][“附件”][“媒体”][0][“type”]
应该可以工作;我发现媒体包含一个数组,所以只需执行一些foreach循环,即可访问这些值。谢谢大家!