2009-11-25 162 views
0

這是我想要的關聯數組的合適構造還是有更好的方法呢?php關聯數組構造

每個ID密鑰都與一個值相關聯,在這種情況下,ID是分配給變量$ money1的值爲「5」的Nickels(索引鍵)。

$money1['Nickels'] = "5"; 
$money2['Dimes'] = "10"; 
$money3['Quarters'] = "25"; 
+1

btw:爲什麼要引用這些值?雖然PHP會自動進行類型轉換,但如果使用後面的值進行計算,那麼將數字視爲$ money ['Nickels'] = 5; – schneck 2009-11-25 09:11:46

回答

2

是的。這是正確的。假設你最後想要3個數組(money1,money2,money3)。

如果你想一個數組,你可以使用這個精簡的符號:

$money = array("Nickels" => "5", "Dimes" => "10", "Quarters" => "25"); 

..這是一個較短的形式:

$money["Nickels"] = "5"; 
$money["Dimes"] = "10"; 
$money["Quarters"] = "25" 

數組訪問:

echo $money["Dimes"]; // prints 10 
+0

沒有看到回聲,我想我怎麼得到我的錢,謝謝 – Newb 2009-11-25 09:13:41

+0

不客氣.. – miku 2009-11-25 09:15:51

0

是的,沒關係。

有點不符合報價,但它會起作用。

0

那麼,這將工作。無論是「正確」還是最佳做法取決於您正在嘗試解決的問題...

3

那麼這是三個關聯數組,如果你想要一個關聯數組n您需要這樣做:

$money['Nickels'] = "5"; 
$money['Dimes'] = "10"; 
$money['Quarters'] = "25" 

或者更短的版本:

$money=array('Nickels'=>'5','Dimes'=>'10','Quarters'=>'25'); 

如果您尋找三個不同的陣列,它沒有比這樣更好:

$Nickels = "5"; 
$Dimes = "10"; 
$Quarters = "25"; 
0

這不是一個數組,但是3.您確定要爲每個數組分配一個值嗎?它看起來像你可能希望將這些值分配到只有一個數組:

$money['Nickels'] = "5"; 
$money['Dimes'] = "10"; 
$money['Quarters'] = "25"; 
1

你有什麼會是有用的,但既然你不顯示任何代碼,這是很難說是否會使用給你。

下面是一些包含可能有用的數據的其他方法。

$money = array ('Nickels' => '5', 'Dimes' => '10', 'Quarters' => '25'); 

$money = array (5 => 'Nickels' , 10 => 'Dimes', 25 => 'Quarters'); 
+0

OMG!,這是如此coool,謝謝。 – Newb 2009-11-25 09:10:16

0

與數字的變量看起來像一個缺陷。如果你想要整數,你可以刪除數值附近的引號。但沒有任何細節很難說更多。