0

我有一个数组,我想在数组中找到某个对象的所有索引。当我使用array_search时,它只返回可以找到对象的第一个索引。

echo array_search(3, array(3, 3, 4));

这返回 0,但我想知道索引 0 和 1 都将整数 3 作为它们的对象。有没有办法在不使用for循环的情况下做到这一点?

4

2 回答 2

3

尝试 array_keys() 方法:

  $array = array(3, 3, 4);
  print_r(array_keys($array, "3"));

以供参考:

array_keys() — 返回数组信息和用法示例的所有键或键的子集:http: //php.net/manual/en/function.array-keys.php

于 2013-01-10T00:09:28.910 回答
1

作为 array_keys 的替代方法,array_filter() 保留关联性

$key = 3;
$array = array(1, 3, 3, 4, 3, 5);

$result = array_filter(
    $array,
    function ($item) use ($key) {
        return ($item == $key);
    }
);

var_dump($result);
于 2013-01-10T00:12:26.917 回答