2016-11-18 13 views
0

配列のキーをループし、そのキーが変数と一致するときに値を返そうとしています。しかし、私がやっていることはあまり意味がないようです。 PPHPのループオーバー配列キーと戻り値

誰も私を助けることができる:私がやっていることは右である場合、私はもうさえわからないこの時点で

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; 
} 

事前に感謝します。

+0

期待される出力は?あなたも投稿してください。 –

+0

hmmm ....私はそれがすべきだと賭けています:$ 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; 
} 

からのすべてのメソッドを見て良いだろうです。それは修正が必要なすべてでした。これは、リストにある場合は0または$変数を返します。率直に言って、あなたは正しいコードに非常に近い。