我有这个数组,如果它的值与其他数组相同,我想删除它
$appointments = array(
array('1','Monday', '5:30 PM'),
array('2','Friday', '6:00 PM'),
array('3','Monday', '5:30 PM'),
array('4','Tuesday', '4:15 PM'),
array('5','Wednesday', '8:30 PM'),
array('6','Thursday', '1:45 PM')
);
我想要这个结果星期一,时间显示两次所以我只需要显示一次我为此使用下面的代码所以请为此提供更好的解决方案
$one_dimension = array_map('serialize', $appointments);
$unique_one_dimension = array_unique($one_dimension);
$unique_multi_dimension = array_map('unserialize', $unique_one_dimension);
echo "<pre>";print_r($unique_multi_dimension);
最佳答案
<?php
$appointments = array(
array('1','Monday', '5:30 PM'),
array('2','Friday', '6:00 PM'),
array('3','Monday', '5:30 PM'),
array('4','Tuesday', '4:15 PM'),
array('5','Wednesday', '8:30 PM'),
array('6','Thursday', '1:45 PM')
);
//Here we are finding column of week days.
$implodedColumns= array_map(function($data){
unset($data[0]);
return implode(",", array_map('trim', $data));
}, $appointments);
$result=array_unique($implodedColumns);
array_walk($result, function(&$value,$key){
$value= array_merge(array($key), explode(",", $value));
});
print_r($result);
输出:
Array
(
[0] => Array
(
[0] => 0
[1] => Monday
[2] => 5:30 PM
)
[1] => Array
(
[0] => 1
[1] => Friday
[2] => 6:00 PM
)
[3] => Array
(
[0] => 3
[1] => Tuesday
[2] => 4:15 PM
)
[4] => Array
(
[0] => 4
[1] => Wednesday
[2] => 8:30 PM
)
[5] => Array
(
[0] => 5
[1] => Thursday
[2] => 1:45 PM
)
)
关于php - 如何去除多维数组中重复的键值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43362286/