多次元配列の連想行の比較
$pageids と $parentpage という 2 つの多次元配列があり、各行は列を持つレコードを表します「id」、「リンクラベル」、「url」。 $pageids には存在するが $parentpage には存在しない行を検索し、欠落している行を含む配列 ($pageWithNoChildren) を効率的に作成したいとします。
ただし、これらの配列に対して array_diff_assoc() を直接使用しても期待どおりに動作しません。これは、ネストされた行の内容ではなく、主配列キーを比較するためです。ネストされた行を比較するには、まず、array_map() と Serialize() 関数を使用してそれらを 1 次元配列に変換します。 $serializedParentpage = array_map('serialize', $parentpage);
$serializedPageids = array_map('serialize', $pageids); $serializedParentpage = array_map('serialize', $parentpage);
$serializedDifference = array_diff($serializedPageids, $serializedParentpage);
$serializedDifference = array_diff($serializedPageids, $serializedParentpage);
$pageWithNoChildren = array_map(' unserialize', $serializedDifference);
$pageWithNoChildren = array_map('unserialize', $serializedDifference);
配列 ( 0 => 配列 ( 'id' => 1、 'リンクラベル' => 'ホーム', 'url' => 'ホーム', )、 3 => 配列 ( 'id' => 6、 'リンクラベル' => 'ロゴデザイン', 'url' => 'ロゴデザイン', )、 4 => 配列 ( 'id' => 15、 'リンクラベル' => 'コンテンツの書き込み', 'url' => 'コンテンツライティング', )、 )
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3