處理物件陣列(例如貓物件陣列)時,提取特定屬性通常可以成為必要的任務。在這種特殊情況下,我們的目標是將每個 cat 物件的 id 屬性提取到一個新數組中。
正如您的問題中所建議的,一種方法涉及使用 array_walk() 和 create_function 。雖然這種方法當然可行,但有更優雅、更有效率的解決方案。
在 PHP 7.0 中引入,array_column() 函數提供了一種提取特定屬性的簡單方法來自物件陣列。文法如下:
array_column(array $input, string $column_key, string $index_key = null): array
在我們的例子中,我們可以使用array_column() 來從$cats 數組中提取id 屬性:
$catIds = array_column($cats, 'id');
$catIds 變數現在將包含貓ID 數組,從而可以根據需要輕鬆存取和操作這些值。
需要注意的是,如同問題答案中所提到的,array_column()函數要求來源陣列是陣列或可轉換為陣列。如果您的 $cats 數組不是數組,您需要先使用 get_object_vars() 函數對其進行轉換。
使用此方法,您可以輕鬆有效地從其中提取一列屬性物件數組,簡化您的 PHP 開發任務。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3