2012-04-14 18 views
-1

我只是检查出的一些功能和代码是如此简单:列入阵列时找不到PHP服务器?

<?php 

echo "hello" ; 

$var = '1'; 

var_dump($var); 
//$arr = ('a'=>'1','b'=>'2', 'c'=>'3' ,) ; 

//print_r($arr); 

?> 

现在,在这一点上,如果我取消注释$arr,然后访问我的文件浏览器,它给了我一个服务器错误。这太奇怪了。我不知道wassup。但我相信这是一个愚蠢的错误。任何人都可以给我一个关于这个?

我也做了$arr = (1,2,3,4,5)$arr = ('1','2','3','4','5')但无济于事;同样的问题。

+0

日志说...? – 2012-04-14 03:56:45

+2

请你忘记'array'关键字 – Michelle 2012-04-14 03:59:57

+0

[RTFM](http://php.net/manual/en/language.types.array.php)。 – iambriansreed 2012-04-14 04:00:38

回答

5

如果你从你的数组声明的末尾删除多余的逗号(,)+声明你的数组是否正确?

像这样:

<?php 

    echo "hello"; 

    $var = '1'; 

    var_dump($var); 
    $arr = array('a'=>'1','b'=>'2','c'=>'3'); 

    print_r($arr); 

?> 

如何创建磁盘阵列:

<?php 
$array = array(
    "foo" => "bar", 
    "bar" => "foo", 
); 

// as of PHP 5.4 
$array = [ 
    "foo" => "bar", 
    "bar" => "foo", 
]; 
?> 

参考:http://php.net/manual/en/language.types.array.php

+0

数组仍然可以使用额外的逗号。他只是无法正确初始化他的数组。 – Michelle 2012-04-14 04:05:14

+0

@JackSpairow的确如此。 Bracketworks的观点是100%发现。 – 2012-04-14 04:07:26

2

您需要使用array()构造来创建数组,而不仅仅是()

// all versions 
$array = array('foo' => 'bar'); 

// 5.4+ 
$array = ['foo' => 'bar']; 

虽然@ Dr.Kameleon提到去除多余,逗号),它是完全可以接受把它留在;在许多情况下建议。

$array = [ 
    'foo' => 'bar', 
]; 

它只是帮助快速重新安排/添加/删除条目。

+0

那么,你真的让我对那个关于“逗号”的东西感到疑惑。但是,是的,你是对的;虽然它仍然让我觉得奇迹,不管是什么... :-) – 2012-04-14 04:06:53

+0

@ Dr.Kameleon我喜欢能够把它留在;因为IE不支持在这样的声明中使用尾随逗号,所以麻烦跳入JavaScript。 – Dan 2012-04-14 04:07:49

+0

如果你不喜欢结尾的评论,你也可以在每行的开头添加它:'$ arr = [“foo”=>“bar”/,“fooo”=>“baar”/,“four “=>”4“/];' – DACrosby 2012-04-14 04:07:51