循环通过数组并找出哪一个动态匹配值

时间:2015-08-15 00:17:47

标签: php for-loop multidimensional-array

我有一个“Auto Makes”数组及其各自的“ID”(在下面用整数表示)。

$auto_makes_one = 10;
$auto_makes_two = 11;
$auto_makes_three = 12;

$auto_makes_array = array (
    array("Auto Make One",$auto_makes_one),
    array("Auto Make Two",$auto_makes_two),
    array("Auto Make Three",$auto_makes_three)
);

for ($row = 0; $row < 3; $row++) {

    echo "<p><b>Row number $row</b></p>";
    echo "<ul>";

    for ($col = 0; $col < 2; $col++) {

        echo "<li>".$auto_makes_array[$row][$col]."</li>";

        if ($auto_makes_array[$row][$col] == 12) {

            echo "yes" . "<br>";

        }

    }

    echo "</ul>";
}

使用此代码,我正在检查是否有任何值等于12:

if ($auto_makes_array[$row][$col] == 12) {

    echo "yes" . "<br>";

}

使用上面的if语句,如果数字匹配12,我如何知道它匹配哪个键?

我的意思是......说$ auto_makes_three = 12,我想设置$ auto_makes_three_readable =“Ford”

所以在这种情况下我试图弄清楚它的“Auto Make Three”是否具有12或其他值,然后它是否能够将变量$ auto_makes_three_readable设置为“Ford”。然后我想让代码动态化,以便它可以自动执行“Auto Make One”或“Auto Make Two”

1 个答案:

答案 0 :(得分:0)

当你声明一个这样的数组时

Array
(
    [0] => Auto Make One
    [1] => 11
)

知道它会像这样创建一个索引数组

$myArr = array("Auto Make one"=>$auto_makes_one);

 Array
 (
     [Auto Make one] => 11
 )

如果要使用自己的键创建关联数组,请按以下方式声明

$key = array_search('11', $array);

现在,既然您需要关联数组的键,请使用

Auto Make one

即将打印

display:block