2015-09-04 79 views
1

一個鍵的值我有一個變量,當我print_r這樣的輸出是:獲取陣列

print_r($sort_order[$field->name]); 

我得到這個:

Array ([0] => Array ([sort_order] => 92)) 

,但我只需要值是92.我怎麼能這樣做,只有當它回聲時才輸出?例如:

echo $sort_order[$field->name]; 

應該輸出簡單

92 
+1

正是因爲你擁有它。 'echo $ array_name [「sort_order」];' – Lock

+0

什麼是$ array_name? –

+0

你的數組的名字是什麼。你的文章有點混亂。您在名爲'$ sort_order'的變量上使用'print_r',但print_r的結果顯示一個名爲'sort_order'的數組鍵。如果這是真正正確的(因爲你有一個名爲'$ sort_order'的數組變量以及一個名爲'$ sort_order'的數組鍵,那麼你將使用'echo $ sort_order [「sort_order」];' – Lock

回答

1

$sortOrder數組實際上是數組的數組,如:

[ 
    [ 'sort_order' => 92 ] 
] 

這就是爲什麼你不能打印它就像你期望的一樣。

嘗試:

echo $sort_order[0]['sort_order']; 

輸出:

92 
+0

我已經試過那個,但我有一個未定義的偏移量:0 –

+0

哦,沒關係,畢竟這是解決方案,我在其他地方發現了一個惡作劇,並修復了它的工作原理。謝謝。 –

1

的print_r()函數是用來打印有關的可變人類可讀信息。

你可以做印刷和回顯到輸出所需的值:

echo $sort_order[$field->name]; 

print $sort_order[$field->name]; 

希望這有助於。

+0

差異很小:echo沒有返回值,而print的返回值爲1,所以它可以在表達式中使用,echo可以接受多個參數(雖然這種用法是罕見的),而打印可以採取一個參數 – navneet35371

+0

這將無法正常工作我得到:數組到字符串轉換 –

+0

您的字段實際上是一個數組數組,因此您必須通過其索引訪問該元素。 – navneet35371

0

命令print_r以人類可讀的方式顯示變量。所以如果你需要知道變量中的所有信息(尤其是大數組),那麼你就可以使用它。對於其他用途,例如當你只需要知道內容(在我猜99.999%的情況下),你應該使用echo就像你已經提到它或print(他們,或多或少是相同的)。

請考慮此鏈接獲得進一步的信息

http://php.net/manual/en/function.print-r.php

What's the difference between echo, print, and print_r in PHP?