获取第n个数组行号php

时间:2013-03-06 11:27:47

标签: php arrays

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

$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命令能够做到这一点?

2 个答案:

答案 0 :(得分:1)

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

function findArrayIndex($arr, $searchId) {

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

    return -1;

}

答案 1 :(得分: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;
}