我有這樣的代碼:如何取消設置包含唯一值的數組?
<?php
$input = [
["From"=>"Jack", "To"=>"Peter"],
["From"=>"Jack", "To"=>"John"],
["From"=>"Jack", "To"=>"Ali"],
["From"=>"Ali", "To"=>"Jack"],
["From"=>"Ali", "To"=>"Martin"],
["From"=>"Jack", "To"=>"Barmar"],
["From"=>"Peter", "To"=>"John"]
];
$output = [];
array_walk($input, function($element) use (&$output) {
$output[$element['From']][] = $element;
});
print_r(array_values($output));
/*
Array
(
[0] => Array
(
[0] => Array
(
[From] => Jack
[To] => Peter
)
[1] => Array
(
[From] => Jack
[To] => John
)
[2] => Array
(
[From] => Jack
[To] => Ali
)
[3] => Array
(
[From] => Jack
[To] => Barmar
)
)
[1] => Array
(
[0] => Array
(
[From] => Ali
[To] => Jack
)
[1] => Array
(
[From] => Ali
[To] => Martin
)
)
[2] => Array
(
[0] => Array
(
[From] => Peter
[To] => John
)
)
)
現在我想刪除整個數組時To
關鍵的valye是唯一(不存在既不From
和To
鍵的值)。因此,這是預期的結果:(barmar
和martin
和獨特的,所以他們的陣列應該被刪除)
/*
Array
(
[0] => Array
(
[0] => Array
(
[From] => Jack
[To] => Peter
)
[1] => Array
(
[From] => Jack
[To] => John
)
[2] => Array
(
[From] => Jack
[To] => Ali
)
)
[1] => Array
(
[0] => Array
(
[From] => Ali
[To] => Jack
)
)
[2] => Array
(
[0] => Array
(
[From] => Peter
[To] => John
)
)
)
我怎麼能這樣做?
我就開始array_walk – RST
之前執行的唯一性檢查@RST你的意思是什麼? – stack