php - 在 array的屬性中,php有效的搜索對象的方法

  显示原文与译文双语对照的内容
84 0

有一些類似的東西:

$array[0]->id = 'one';
$array[0]->color = 'white';
$array[1]->id = 'two';
$array[1]->color = 'red';
$array[2]->id = 'three';
$array[2]->color = 'blue';

什麼是實現這種方法最快。最有效的方法

function findObjectById($id) {}

如果調用以下命令,則返回對象 $array[0]:

$obj = findObjectById('one')

如果我將'四'作為參數傳遞,那麼 return false 會。

时间:原作者:0个回答

131 4

你可以迭代這些對象:

function findObjectById($id){
 $array = array(/* your array of objects */);
 foreach ( $array as $element ) {
 if ( $id == $element->id ) {
 return $element;
 }
 }
 return false;
}

編輯:

更快的方法是讓帶有鍵的array 等於對象'id ( 如果唯一的話) ;

然後,你可以按照如下方式構建你的函數:

function findObjectById($id){
 $array = array(/* your array of objects with ids as keys */);
 if ( isset( $array[$id] ) ) {
 return $array[$id];
 }
 return false;
}
原作者:
...