2016-11-18 132 views
0

我想循環訪問數組的鍵,並在該鍵與變量匹配時返回值。但我所做的似乎沒有太大意義。PHP循環數組鍵和返回值

public function check($variable) 
{ 
    $result = 0; 

    $amount = array(
     3 => 10, 
     4 => 20, 
     5 => 50 
     ); 

    foreach ($amount as $a) { 
     if ($a == $variable) { 
      $result = $a[$amount]; 
     } 
    } 

    return $result; 
} 

在這一點上,我甚至不能確定了,如果我做的是對的:P

任何人誰可以幫我嗎?

非常感謝提前!

+0

你的預期輸出是什麼。你可以請張貼 –

+0

嗯....我打賭它應該是:$ result = $ a ...但它不清楚你想要什麼...... – barudo

+0

你使用的鍵和值是非常混亂:什麼是輸入和匹配輸出?一些例子會有所幫助。 – jeroen

回答

2
public function check($variable) 
{ 
    $result = 0; 

    $amount = array(
     3 => 10, 
     4 => 20, 
     5 => 50 
    ); 

    if (isset($amount[$variable])) { 
     $result = $amount[$variable]; 
    } 

    return $result; 
} 
0
public function check($variable) 
{ 
    $result = 0; 

    $amount = array(
     3 => 10, 
     4 => 20, 
     5 => 50 
     ); 

    foreach ($amount as $k=>$v) { 
     if ($k == $variable) { 
      $result = $v; 
     } 
    } 

    return $result; 
} 
0

你並不需要那麼多的邏輯。我認爲你不需要該功能太多,但在這裏它是:

var_dump(check(4)); 

function check($variable) 
{ 
    $amount = array(
     3 => 10, 
     4 => 20, 
     5 => 50 
    ); 

    return isset($amount[$variable]) ? $amount[$variable] : 0; 
} 

正如我可以看到這個是一個類中的方法..它會更好看從該類

+0

如何在沒有功能的情況下做到這一點? –

+0

你必須顯示整個上下文..你想要使用它的類.. –

+0

這太有點顯示我想做這個檢查作爲其他相當大功能的一部分 –

0
function check($variable) 
{ 
    $result = 0; 
    $amount = array(
     3 => 10, 
     4 => 20, 
     5 => 50 
     ); 


    foreach ($amount as $a) { 
     if ($a == $variable) { 
      $result = $a; 
     } 
    } 

    return $result; 
} 

基本上行指定$ a到$結果是不是爲了所有的方法。這就是所有需要解決的問題。現在,如果它在列表中,則返回0或$ variable。坦率地說,你非常接近正確的代碼...