我在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']一起使用,而不是與陣列一起使用。 –