PHP循环数组键并返回值

时间:2016-11-18 09:20:17

标签: php arrays loops

我试图遍历数组的键,并在该键与变量匹配时返回值。但我正在做的事情似乎没有多大意义。

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

任何可以帮助我的人?

非常感谢提前!

4 个答案:

答案 0 :(得分:2)

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

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

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

    return $result;
}

答案 1 :(得分: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;
}

答案 2 :(得分:0)

你不需要那么多的逻辑......我认为你也不需要这个功能,但这里是:

var_dump(check(4));

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

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

正如我所看到的,这是一个类中的方法..最好从该类中看到所有方法

答案 3 :(得分: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;
}

基本上,为$ result分配$ a的行不符合要求。这就是所有需要解决的问题。现在它返回0或$变量,如果它在列表中。坦率地说,你非常接近正确的代码...