2

假设您将以下数组值分配给变量,

$erz = Array ( 
  [0] => stdClass Object ( [id] => 43 [gt] => 112.5 ) 
  [1] => stdClass Object ( [id] => 47 [gt] => 46 ) 
  [2] => stdClass Object ( [id] => 48 [gt] => 23.75 )
  [3] => stdClass Object ( [id] => 49 [gt] => 12.5 ) 
)

我需要能够获得给定 id 的数组索引号。因此,例如,我想得到 2 个给定 id 48,或者得到 3 个给定 id 49,等等。有没有 php 命令能够做到这一点?

4

2 回答 2

1

我不认为有但很容易设置自己的功能..

function findArrayIndex($arr, $searchId) {

    $arrLen = count($arr);
    for($i=0; $i < $arrLen; $i++) {
       if($arr[$i][id] == $searchId) return $i;
    }

    return -1;

}
于 2013-03-06T11:36:07.657 回答
0

不,没有这样的功能。实际上有一个array_search(),但你不能将它与对象一起使用。例如,这里有人问了一个类似的问题:PHP - find entry by object property from a array of objects

所以你必须制作自己的循环:

$result = null;
$givenID = 43;
foreach ($erz as $key => $element)
{
    if ($element->id == $givenID)
        $result = $key;
}
于 2013-03-06T11:36:09.347 回答