PHP:從物件數組中高效提取一列屬性
許多程式設計場景都涉及使用物件數組,其中每個物件可能有多個屬性。有時,需要從每個物件中提取特定屬性以形成單獨的陣列。在 PHP 中,在不借助循環或外部函數的情況下用一行程式碼實現此目標可能很棘手。
一個可能的方法是利用 array_walk() 函數和 create_function。然而,PHP 7.0 及更高版本中提供了更簡單、更優雅的解決方案。
array_column() 來拯救
array_column() 函數是在 PHP 7.0 中引入的並允許您從數組數組或物件數組中提取特定列的資料。只要傳入物件陣列作為第一個參數,並將所需屬性的名稱作為第二個參數傳遞即可:
$idCats = array_column($cats, 'id');
在此範例中,$idCats 變數現在將包含所有貓物件的ID 陣列。
7.0 之前的PHP 版本注意事項
如果您使用早於7.0 的PHP 版本,您仍然可以使用array_map() 函數:
$idCats = array_map(function($cat) { return $cat->id; }, $cats);
雖然這個方法稍微冗長一些,但它達到了相同的結果。
透過利用 array_column() 或 array_map(),您可以有效地從數組中提取一列屬性PHP 中的對象,使您能夠簡化程式碼並提高效能。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3