代码之家  ›  专栏  ›  技术社区  ›  Tegra Detra

检索传递给值php的数组键

  •  0
  • Tegra Detra  · 技术社区  · 15 年前

    我有以下数组

    $group= array(
        [0] => 'apple',
        [1] => 'orange',
        [2] => 'gorilla'
    );
    

    我通过for-each函数运行数组组,当循环碰到Gorilla的值时,我希望它输出Gorilla的索引。

    foreach ($group as $key) {
    
        if ($key == gorilla){
            echo   //<------ the index of gorilla
        }
    
    }
    
    5 回复  |  直到 15 年前
        1
  •  3
  •   Sarfraz    15 年前

    你可以使用 array_search 函数获取指定值的键:

    $key = array_search('gorilla', $group);
    
        2
  •  3
  •   Pekka    15 年前
    foreach( $group as $index => $value) {
    
    if ($value == "gorilla")
     {
      echo "The index is: $index";
     }
    
    }
    
        3
  •  2
  •   Fluffy    15 年前

    array_search _搜索数组中的给定值,如果成功,则返回相应的键。

    <?php
    $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
    
    $key = array_search('green', $array); // $key = 2;
    $key = array_search('red', $array);   // $key = 1;
    ?>
    
        4
  •  1
  •   Amber    15 年前
    foreach($group as $key => $value) {
        if ($value=='gorilla') {
            echo $key;
        }
    }
    

    这个 foreach($c as $k => $v) 语法类似于 foreach($c as $v) 语法,但它将相应的键/索引放入 $k (或放在那里的任何变量)对于每个值 $v 在集合中。

    但是,如果您只是在查找单个值的索引, array_search() 可能更简单。如果您要查找许多值的索引,请使用 foreach .

        5
  •  0
  •   matthewwithanm    15 年前

    试试这个:

    foreach ($group as $key => $value)
    {
        echo "$key points to $value";
    }
    

    foreach documentation on php.net