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 から配列のインデックス番号を取得できるようにする必要があります。たとえば、ID 48 を指定して 2 つ取得したい、または ID 49 を指定して 3 つ取得したいなどです。これを実行できる 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 - オブジェクトの配列からオブジェクト プロパティでエントリを検索する

したがって、独自のループを作成する必要があります。

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