繁体   English   中英

遍历数组,找出动态匹配值的数组

[英]Loop Through an Array and Figure Out Which One Matches A Value Dynamically

我有一个“自动制作”数组及其各自的“ 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_可读=“福特”

因此,在这种情况下,我试图确定其“ Auto Make Three”的值是否为12或另一个,然后是否能够将变量$ auto_makes_three_read设置为“ Ford”。 然后,我想使代码动态化,以便它可以针对“自动合一”或“自动合二”自动执行此操作

当您声明这样的数组时

$auto_makes_one = 11;
array("Auto Make One",$auto_makes_one);

知道它将创建像这样的索引数组

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM