2010-06-08 260 views
1

我如何通過一個數組通過函數,例如:功能與數組變量

$data = array(
    'color' => 'red', 
    'height' => 'tall' 
); 

something($data); 

function something($data) { 
    if ($data['color'] == 'red') { 
     // do something 
    } 
} 

我怎樣才能獲得的功能識別$data[color]$data[height]

+0

你的意思是你需要的功能是能夠修改數組嗎? – 2010-06-08 06:15:14

+0

我需要函數來理解$ data [color]等於紅色。這樣我就可以使用:函數 – Booski 2010-06-08 06:17:16

+0

中的if($ data [color] =='red'){做某事},你已經有了你的函數。它有什麼問題? – 2010-06-08 06:21:15

回答

1

有時候,最簡單的答案是正確的:

$data = array(
    'color' => 'red', 
    'height' => 'tall' 
); 


function something($data) { 
    if ($data['color'] == 'red') { 
     // do something 
    } 
} 

something($data); 

陣列不需要在這種情況下,一個特殊的處理,你可以通過任何你想要的類型到一個函數。

1

這工作:

$data = array('color' => 'red', 'height' => 'tall'); 

function something($data) { 
    if ($data['color'] == 'red') { 
     // do something 
    } 
} 

something($data); 

正如此言一出,你需要引用你的字符串:$data['color']

0

也許您需要對參數進行一些驗證才能使該函數更可靠。

function something($data) 
{ 
    if(is_array(data) and isset($data['color'])) 
    { 
     if($data['color'] == 'red') 
     { 
      //do your thing 
     } 
    } 
    else 
    { 
     //throw some exception 
    } 
}