假设您将以下数组值分配给变量
$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命令能够做到这一点?
答案 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;
}