首頁 >後端開發 >php教程 >如何有效率地在 PHP 多維數組中搜尋值?

如何有效率地在 PHP 多維數組中搜尋值?

Linda Hamilton
Linda Hamilton原創
2024-12-28 03:23:09708瀏覽

How Can I Efficiently Search for a Value in a PHP Multidimensional Array?

透過值最佳化進行 PHP 多維數組搜尋

在多維數組中搜尋特定值時,效率至關重要。傳統的循環方法可能既麻煩又耗時,尤其是對於大型陣列。

要最佳化此搜索,請考慮實作自訂函數:

function searchForId($id, $array) {
  foreach ($array as $key => $val) {
    if ($val['uid'] === $id) {
      return $key;
    }
  }
  return null;
}

此函數迭代數組,比較每個元素的「uid」屬性為指定的「id」。如果找到匹配項,則傳回對應的陣列鍵。

例如,使用下列陣列:

$userdb = [
  [
    'uid' => '100',
    'name' => 'Sandra Shush',
    'pic_square' => 'urlof100'
  ],
  [
    'uid' => '5465',
    'name' => 'Stefanie Mcmohn',
    'pic_square' => 'urlof100'
  ],
  [
    'uid' => '40489',
    'name' => 'Michael',
    'pic_square' => 'urlof40489'
  ]
];

呼叫 'searchForId(100, $userdb)' 將傳回 0,呼叫 'searchForId(40489, $userdb)' 將傳回 2。

PHP 版本中的替代方法5.5.0 以上版本是使用'array_search' 和'array_column' 函數:

$key = array_search('100', array_column($userdb, 'uid'));

這個單行程式碼有效地執行與自訂函數相同的任務。

透過合併這些最佳化,您可以顯著提高 PHP 中多維數組搜尋的效能。

以上是如何有效率地在 PHP 多維數組中搜尋值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn