解析错误:语法错误,第12行/home/public_html/gigs.html中的意外T_LIST

时间:2014-03-21 13:34:56

标签: php arrays list loops foreach

我正在尝试为我的乐队网站建立一个活动页面,使用PHP列出我们即将举行的演出(我对服务器端脚本还很新)我一直收到上述错误在浏览器中显示在页面上。我确定有一些简单的事情我错过了/做错了但我似乎无法弄清楚它是什么(我也很难在网上找到相关信息)

这是我在html / php页面上的代码

<?php
$body_id = 'gigs'
?>

<?php include($_SERVER['DOCUMENT_ROOT'].'/fragments/html.html'); ?>

<div class="content-left">

    <?php
    include($_SERVER['DOCUMENT_ROOT'].'/php/arr_gigs.php');

    foreach ($gig as list($day, $month, $year, $location, $description, $event_link, $ticket_link)) {

        echo '<span class="top">\n\t';
        if ($ticket_link = true){
            echo '<a href="$ticket_link" onClick="return false;"> BOOK TICKETS </a>\n';
        };
        echo '</span>\n\n';                         
        echo '<span class="bottom">\n\t';
        echo '<a href="$event_link" class="gig-tag" onClick="return false;">\n\t\t';
        echo '<span class="when">$day \/ $month - $location</span>\n\t\t';
        echo '<span class="where">$description</span>\n\t';
        echo '</a>\n';
        echo '</span>\n';
    };
?>

</div>

这里是php / arr_gigs.php,我希望在这里放入所有的演出细节,日期,地点,链接等。

<?php

$gig = [
[28,12,2013,
'The Firebug - Leicester', 
'with more awesome bands',
'www.facebook.com',
'www.seetickets.com'],

[19,04,2014,
'Pi Bar - Leicester', 
'(acts tbc)',
'www.facebook.com',
''],
];

?>

据我所知,我运行的是最新版本的PHP(5.3或类似版本) 如果有任何帮助或建议,有人可以给我,我真的很感激:)或者如果你认为有更好的方法我可以达到预期的效果

1 个答案:

答案 0 :(得分:1)

以下代码行在5.5之前的PHP版本中无效(这意味着您使用PHP 5.5):

foreach ($gig as list($day, $month, $year, $location, $description, $event_link, $ticket_link)) {

如果您希望获取所有这些值,请使用数组语法来访问它们:

foreach ($gig as $giginfo) {
    echo $giginfo['day'];

或使用while循环:

while (list($day, $month, $year, $location, $description, $event_link, $ticket_link) = each($gig)) {

或使用extract()不推荐):

foreach ($gig as $giginfo) {
    extract($giginfo);

对于您的数组,您使用的语法仅在PHP 5.4中可用。因此,您需要使用array()语法:

<?php

$gig = array(
    array(28,12,2013,
        'The Firebug - Leicester', 
        'with more awesome bands',
        'www.facebook.com',
        'www.seetickets.com'
    ),
    array(
        19,04,2014,
        'Pi Bar - Leicester', 
        '(acts tbc)',
        'www.facebook.com',
        ''
    ),
);

?>