php - 返回包含数组的数组位置

标签 php arrays

假设我给你以下数组:

$array = array (
    array (
      'key' => 'value'
    ),
    array (
      'key' => 'another value'
    ),
    array (
      'key' => 'yet another value'
    ),
    array (
      'key' => 'final value'
    )
);

我想要从这个数组中得到的是具有所提供值的数组的位置。因此,如果我在 $array 中搜索 "yet another value" 的值,结果应该是: 2 因为匹配的数组位于位置2.

我知道要执行以下操作:

foreach ($array as $a) {
    foreach ($a as $k => $v) {
        if ($v ===  "yet another value") {
            return $array[$a]; // This is what I would do, but I want
                               //  the int position of $a in the $array.
                               //  So: $a == 2, give me 2.
        }
    }
}

更新:

key 始终相同

最佳答案

如果 key 相同,您可以简单地执行此操作:

$v = "yet another value";
$a = array_search(array("key"=>$v),$array);
echo $a;//2

http://sandbox.onlinephpfunctions.com/code/1c37819f25369725effa5acef012f9ce323f5425

关于php - 返回包含数组的数组位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30763018/

相关文章:

php:捕获PDO异常并继续执行?

c++ - 从线中提取坐标数组 (C++ OpenCV)

php - 如何将数据存储到MySQL用于数组输入

javascript - AJAX 请求返回带有属性的 JSON,而不是整个字符串作为一个值

php - 尝试在 WordPress 中使用 DFP 广告管理系统定位 - 需要有关问题的建议 -

php - codeigniter 谷歌分析 + 谷歌图表

php - 将视频剪辑存储到 phpmyadmin

arrays - Haskell 位数组

python - 如何将 2d 列表转换为 2d native python 数组而不是 numpy 数组?

arrays - 如何在 VHDL 中连接两个数组