2013-06-19 245 views
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); 

然后错误:

Parse error: syntax error, unexpected '[' in /home/stud/0861108/public.www/herkansing_imp3/back-end/add_tag.php on line 44

+1

'$仅支持array = [$ hit1,$ hit2,$ hit3,$ hit4,$ hit5,$ hit6];'那是不正确的。一些人会发布答案,但我更喜欢指向你的手册 - > http://php.net/manual/en/language.types.array.php – 2013-06-19 21:30:32

+0

什么版本的PHP? –

回答

4

我不知道你使用的是什么版本的PHP,使用方括号[]数组在PHP 5.4

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

用正常的方式,如果你是那个版本下

$array = array($hit1, $hit2, $hit3, $hit4, $hit5, $hit6); 
+0

认真..你是我的英雄!真!!!! –

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

这个语法只能在PHP 5.4。如果您使用的是旧版本,则会失败。

相关问题