如果其他值具有相同的值,则删除一个数组索引?

时间:2017-05-25 11:24:32

标签: php

我有一个数组:

$check = [
   0 => [
     'id' => '1',
     'value' => 'true'
   ]

   1 => [
     'id' => '1',
     'value' => 'false'
   ]

   2 => [
     'id' => '1',
     'value' => 'true'
   ]

   3 => [
     'id' => '2',
     'value' => 'true'
   ]
]

现在我想将此数组转换为

$check = [
   0 => [
     'id' => '1',
     'value' => 'true'
   ]

   1 => [
      'id' => '2',
      'value' => 'true'
   ]
]

即如果我的check[]的索引具有相同的id值,则删除除了任何一个之外的所有索引。

1 个答案:

答案 0 :(得分:1)

  

首先,您的数组中存在语法错误。缺少,   数组,我已经纠正了你的数组。请参阅下面的代码。

您正在寻找的PHP函数是array_unique()

将SORT_REGULAR标志作为函数的第二个参数传递,它表示正常比较项目(不要更改类型)

检查已验证的代码here

注意:不要忘记从下拉列表中选择Php编译器。

<?php

$check = [
   0 => [
     'id' => '1',
     'value' => 'true'
   ],

   1 => [
     'id' => '1',
     'value' => 'true'
   ],

   2 => [
     'id' => '1',
     'value' => 'true'
   ],

   3 => [
     'id' => '2',
     'value' => 'true'
   ]
];
print_r(array_unique($check, SORT_REGULAR));