![](/img/trans.png)
[英]How to Compare two multidimensional associative arrays with differen items count
[英]Compare two multidimensional Associative arrays
我已經嘗試了幾個小時了。 我有兩個多維數組。
$newData (
[0] => Array(
[id] => 1
[name] => John
[sex] => male
)
[1] => Array(
[id] => 2
[name] => Kenny
[sex] => male
)
[2] => Array(
[id] => 3
[name] => Sarah
[sex] => female
)
[3] => Array(
[id] => 4
[name] => George
[sex] => male
)
)
$oldData (
[0] => Array(
[id] => 3
[name] => Sarah
[sex] => female
)
[1] => Array(
[id] => 4
[name] => George
[sex] => male
)
[2] => Array(
[id] => 5
[name] => Peter
[sex] => male
)
[3] => Array(
[id] => 6
[name] => Lexi
[sex] => female
)
)
如果在名字$oldData
與匹配$newData
我需要不使用更多的循環來獲取該陣列的ID
我認為循環並沒有那么復雜。 如果我正確理解了您的問題,那么代碼將看起來像這樣:
$matches = array();
foreach($newData as $index => $newItem)
foreach($oldData as $oldItem)
if($newData['name'] === $oldItem['name'])
$matches[] = $index;
通過兩個循環,可以獲得數組鍵。
$oldDataCount = count($oldData);
$result = array();
for($i = 0; $i < count($newData); $i++)
for($j =0; $j < $oldDataCount; $j++)
if ($oldData[$j]['name'] == $newData[$i]['name'])
$result[$newData[$i]['name']] = $j;
print_r($result);
現在,該數組保存結果Array ( [Sarah] => 0 [George] => 1 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.