「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ある多次元配列には存在するが、別の多次元配列には存在しない行を検索するにはどうすればよいですか?

ある多次元配列には存在するが、別の多次元配列には存在しない行を検索するにはどうすればよいですか?

2024 年 11 月 17 日に公開
ブラウズ:430

How to Find Rows Present in One Multidimensional Array but Not in Another?

多次元配列の連想行の比較

$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