Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook Stream.Get--如何访问数组中的数据?_Php_Api_Facebook_Get_Stream - Fatal编程技术网

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循环,即可访问这些值。谢谢大家!