1

我是使用 PHP 数组的新手。现在我遇到了一个小问题。我创建了一个 PHP 文件,该文件将从 YouTube 的 JSON 中获得一些点击量。现在,当我在我的本地主机上运行我的应用程序时,它运行得很好,但是当我试图在我学校的主机上运行它时,我得到了一个错误。

这是我的代码:

<?php
//de database toeschrijven. ($.ajax in main.js!!!!) !!
if(isset($_POST['zoekTerm'])){
$zoekterm = $_POST['zoekTerm'];

//Query uitvoeren!!!
$add = mysqli_query ($conn,"/*My SQL Query*/");





//JSON lijst inladen en als query de variabel $zoekterm gebruiken.
$tubeApiUrl = file_get_contents('http://gdata.youtube.com/feeds/api/videos?alt=json&q='.$zoekterm.'&orderby=published&max-results=3&v=2');
$tube_json = json_decode($tubeApiUrl, true);

 $flickrApiUrl = file_get_contents('http://api.flickr.com/services/feeds/photos_public.gne?tags='.$zoekterm.'&format=json&nojsoncallback=1');
 $flickr_json = json_decode($flickrApiUrl, true);

//Compleet overzicht YOUTUBE-JSON, uncommented laten indien niet nodig. Is handig om de JSON tree te volgen.
//echo "<pre>";
//print_r ($tube_json);
//echo "</pre>";


//Per JSON entry een video uitladen en aan een variabel linken!
$hit1 = $tube_json['feed']['entry'][0]['media$group']['yt$videoid']['$t'];
$hit2 = $tube_json['feed']['entry'][1]['media$group']['yt$videoid']['$t'];
$hit3 = $tube_json['feed']['entry'][2]['media$group']['yt$videoid']['$t'];


$hit4 = $flickr_json['items'][0]['link'];
$hit5 = $flickr_json['items'][1]['link'];
$hit6 = $flickr_json['items'][2]['link'];




//Video's die uit JSON zijn gehaald in een Array stoppen.
$array = [$hit1, $hit2, $hit3, $hit4, $hit5, $hit6];
$tube_json_encode = json_encode($array);


//De terug gecodeerde JSON printen naar Google Chrome Console (Network)!!!
print_r ($tube_json_encode);

然后是错误:

解析错误:语法错误,第 44 行 /home/stud/0861108/public.www/herkansing_imp3/back-end/add_tag.php 中的意外“[”

4

2 回答 2

4

[]我想知道您使用的是什么版本的 php,仅在 php 5.4 中支持对数组使用方括号

$array = [$hit1, $hit2, $hit3, $hit4, $hit5, $hit6];

如果您在该版本下,请使用正常方式

$array = array($hit1, $hit2, $hit3, $hit4, $hit5, $hit6);
于 2013-06-19T21:32:14.193 回答
1
$array = [$hit1, $hit2, $hit3, $hit4, $hit5, $hit6];

此语法仅适用于 PHP 5.4。如果您使用的是旧版本,它将失败。

于 2013-06-19T21:31:07.253 回答