2012-04-14 16 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