我在PHP中有两个多维动态数组,像这样:比较动态多维数组
$old = array(
"meta_data" => array(
"page_title" => "Test1",
"page_description" => "Test2",
"page_keywords" => "Test3"
),
"content" => array(
"page_header_one" => "1",
"page_content_one" => "2",
"page_header_two" => "3",
"page_content_two" => "4",
"page_header_three" => "5"
),
);
$new = array(
"meta_data" => array(
"page_title" => "Test1",
"page_description" => "Test2",
"page_keywords" => "Test3324"
),
"content" => array(
"page_header_one" => "124",
"page_content_one" => "243",
"page_header_two" => "343"
),
);
我挣扎比较这些,因为他们是动态的,例如钥匙改变。我打算做的是比较数组,找出发生了什么变化,省略不匹配的键,并只将更改添加到新数组中。
唯一的东西,这将是不变的“meta_data”和$old
“内容”
因此,例如,我们有内容数组中的5个项目,但$new
数组中,我们只有3个项目(3变项目),所以新阵列将有3个内容项目。
有没有办法做到这一点我不能为我的生活弄清楚如何?
最终阵列应该像这样:
$final = array(
"meta_data" => array(
"page_keywords" => "Test3324"
),
"content" => array(
"page_header_one" => "124",
"page_content_one" => "243",
"page_header_two" => "343"
),
);
你不能,导致数组来串转换。 – JPExDev
您可以简单地将此过程与$ new ['meta_data']和$ new ['content']一起使用,而不是与阵列一起使用。 –