2014-09-26 62 views
-2

我有一個php代碼。我只是試圖定義和獲取數組。以下是代碼。php數組:沒有顯示正確的值

<?php 
     $query = 'summer'; 
     $query['jink'] = array(1,4,5,6); 
     var_dump($query); 
     var_dump($query['jink']); 
?> 

的var_dump回報:

string 'Aummer' (length=6) 
string 'A' (length=6) 

並不如預期的輸出。它應該給從(1,4,5,6)

+0

不,輸出是分析錯誤。一旦修復,它是另一個解析錯誤,然後是未定義的函數。 – AbraCadaver 2014-09-26 15:52:25

+0

您在此處顯示的代碼將不會運行。語法錯誤太多。 – 2014-09-26 15:52:41

+0

你在'var_dump'裏面有$ query ['jink''(缺少右括號)。您還遺漏了'$ query ='summer''上的分號是否是這篇文章或實際代碼中的錯字? – Jakar 2014-09-26 15:52:50

回答

3

我定你的錯誤,以顯示該問題:

$query = 'summer'; 
$query['jink'] = array(1,4,5,6); 

$query是一個字符串「夏天」這樣['jink'],不是一個有效的字符串轉換爲0偏移和它訪問的第一個字符「summer」。此外,array(1,4,5,6)不是字符串是Array和「一個」從Array被分配到偏移量爲0「夏天」屈服「Aummer」:

var_dump($query); 

現在再次你得到的字符串偏移0,這是 「」 從 「Aummer」:

var_dump($query['jink']); 

如果喲u使用錯誤報告:

error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

您將看到:

PHP的警告:非法串文件行偏移 'jink'

PHP的通知:數組字符串轉換在文件中的行

PHP警告:文件行中非法字符串偏移'jink'

+0

謝謝。你給出了正確的解釋。 – 2014-09-26 16:16:27

0

你也許想要什麼東西:

$query = ['summer']; 
$query['jink'] = [1,4,5,6 ]; 
var_dump($query); 
var_dump($query['jink']); 

PHP沙盒:http://sandbox.onlinephpfunctions.com/code/50f22fb5de571baf5978ab37e8cd645ec174125e

+0

我試過你的。它給出了相同的輸出A和Aummer。 A從哪裏來。 – 2014-09-26 16:00:27

+0

你是指評論中的人?我認爲@AbraCadaver發佈並提供了一個解決方案。 ;) – loveNoHate 2014-09-26 16:03:00

+0

是的。有用。我再次測試。謝謝 – 2014-09-26 16:13:49

0

那麼錯誤是你設置$query作爲一個字符串,然後把它變成一個數組。你應該簡單地編輯$query = 'summer'$query[] = 'summer',因爲這link顯示。

+0

完美答案。這非常有幫助。謝謝 – 2014-09-26 16:28:00

+0

不客氣。 – user3980820 2014-09-26 16:30:36