Php 是否从数组中删除多维元素的值(如果重复)?
我有一个多维数组,看起来像这样Php 是否从数组中删除多维元素的值(如果重复)?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个多维数组,看起来像这样 $input = Array ( [222] => Array ( 'id' => 222 'val' => 'def'
$input = Array
(
[222] => Array
(
'id' => 222
'val' => 'def'
'more' => 'test'
),
[223] => Array
(
'id' => 223
'val' => 'aaa'
'more' => 'aaa'
),
[224] => Array
(
'id' => 224
'val' => 'aaa'
'more' => 'ddd'
)
[225] => Array
(
'id' => 225
'val' => 'def'
'more' => 'test'
)
);
*重复,因为其键val
和more
的值重复
我想删除重复的值(在本例中为$input[222]和$input[225]),因此结果应仅为
$res = Array
(
[222] => Array
(
'id' => 222
'val' => 'def'
'more' => 'test'
),
[223] => Array
(
'id' => 223
'val' => 'aaa'
'more' => 'aaa'
),
[224] => Array
(
'id' => 224
'val' => 'aaa'
'more' => 'ddd'
)
);
有人知道怎么做吗
谢谢$newInput=array();
foreach($k=>$v)的$newInput[$v['val'].$v['more']]=$v;
//你可以在这里停下来。
$newInputNum=array();
foreach($newInput as$k=>$v)$newInputNum[$v['id']]]=$v;
echo“”;print_r($newInputNum);echo“”;
您必须以编程方式执行此操作(在数组中循环,保留遇到的ID列表,并根据该列表检查每个条目)。但是,如果您是从数据库获取此数据,则可能会修改查询以删除重复项。请尝试使用组
和顺序
来获得所需的结果。类似于这样的内容:按id按顺序选择id、val,更多信息请按[时间戳或其他顺序确定字段]
我无法修改查询,因为此结果仅用于我的案例。其他将允许显示结果重复的结果。因此我的方法是使用数组。谢谢
$newInput = array();
foreach($input as $k => $v) $newInput[$v['val'].$v['more']] = $v;
//You may stop here.
$newInputNum = array();
foreach($newInput as $k => $v) $newInputNum[$v['id']] = $v;
echo "<pre>";print_r($newInputNum );echo "</pre>";