」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用數組函數按列值比較物件數組?

如何使用數組函數按列值比較物件數組?

發佈於2024-11-07
瀏覽:824

How to Compare Arrays of Objects by Column Values Using Array Functions?

使用數組函數按列值比較物件數組

許多程式語言都提供用於比較數組的內建函數。但是,這些函數通常使用原始資料類型和數組,而不是物件數組。這就提出瞭如何根據特定屬性或列來比較物件數組的問題。

為了解決這個問題,PHP 提供了 array_udiff,該函數可以透過指定自訂比較函數來比較物件陣列。考慮以下範例:

$first_array = array(
    (object) ['id' => '205', 'day_id' => '12'],
    (object) ['id' => '210', 'day_id' => '15']
);

$second_array = array(
    (object) ['id' => '205', 'day_id' => '12'],
    (object) ['id' => '215', 'day_id' => '18']
);

要根據 'id' 屬性比較這些數組,可以使用匿名函數,如下所示:

$diff = array_udiff($first_array, $second_array,
    function ($obj_a, $obj_b) {
        return $obj_a->id - $obj_b->id;
    }
);

此函數減去兩個物件的“id”值以確定差異。產生的 $diff 將包含第一個陣列中在第二個陣列中沒有符合「id」值的物件。

總而言之,透過使用 array_udiff 函數並定義自訂比較函數,開發人員可以根據特定屬性或列比較物件數組,為資料分析任務提供靈活性。

版本聲明 本文轉載於:1729665436如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3