Php 检查值是否存在或排除重复值数组
这是数组…Php 检查值是否存在或排除重复值数组,php,arrays,Php,Arrays,这是数组… $rt = array( '0' => array( 'nombre'=>'Jojo', 'fecah'=> '195', 'fch'=>'12' ), '1' => array( 'nombre'=>'Tito', 'fecah'=> '197', 'fch'=>'13' ), '2' => array(
$rt = array(
'0' => array(
'nombre'=>'Jojo',
'fecah'=> '195',
'fch'=>'12'
),
'1' => array(
'nombre'=>'Tito',
'fecah'=> '197',
'fch'=>'13'
),
'2' => array(
'nombre'=>'Jojo',
'fecah'=> '195',
'fch'=>'12'
),
'3' => array(
'nombre'=>'Joji',
'fecah'=> '195',
'fch'=>'12'
),
);
这是我的代码:
$a = array();
foreach ($rt as $k=>$v) {
if (in_array($v['nombre'], $a) && in_array($v['fecah'], $a) && in_array($v['fch'], $a) ) {
$a[]=$k;
echo 'The name ' . $v['nombre'] .' is in the array<br>';
} else {
echo 'The name is not in the array <br>';
}
}
$a=array();
foreach($rt为$k=>$v){
if(in_数组($v['nombre',$a)&&in_数组($v['fecah',$a)&&in_数组($v['fch',$a)){
$a[]=$k;
echo“name”。$v['nombre']”在数组中
;
}否则{
echo“名称不在数组中
”;
}
}
正如你在数组索引[2]中看到的,信息也存在于索引[0]中,所以我不再需要它了,所以我需要一段时间来看看数据是否重复。。。如果数据是“唯一的”,那么用“唯一的”数据构建新的数组如果数据已经存在,那么跳到下一个,但是我需要比较3个键,而不仅仅是名称。。。那我该怎么做呢?这是你需要的
$newarray = array();
foreach($rt as $key => $value)
{
$nombre = $value['nombre'];
if(!isset($newarray[$nombre]))
{
$newarray[$nombre] = $value;
}
}
当数组位于_数组中时插入数组,并使用和 你应该像这样颠倒你的密码
$a = array();
foreach ($rt as $k=>$v) {
if (!in_array($v['nombre'], $a) || !in_array($v['fecah'], $a) || !in_array($v['fch'], $a) ) {
$a[]=$k;
echo 'The name ' . $v['nombre'] .' is in the array<br>';
} else {
echo 'The name is not in the array <br>';
}
}
$a=array();
foreach($rt为$k=>$v){
如果(!in_数组($v['nombre',$a)| |!in_数组($v['fecah',$a)| |!in_数组($v['fch',$a)){
$a[]=$k;
echo“name”。$v['nombre']”在数组中
;
}否则{
echo“名称不在数组中
”;
}
}
是和否,这样我只得到一个唯一的“数组”,这很好,但我需要知道哪些数组或值是重复的吗。。。如果您得到了唯一的数组,那么您可以进行一次diff来查找重复的值。dimmit!。。。你完全正确,我不知道我在想什么。。。所以我得到唯一数组$unique\u arrs
,然后我只做一个$repeated\u arrs=array\u diff($unique\u arrs,$rt)代码>。。。对吗?好吧,那没用。。。据我所知,array_diff()
只在简单数组上工作,而不是多维数组,因此我想我必须为每个数组构建第二个数组,$arr2[]=$an->name'''$非卡
等等,就像单个字符串一样,但是接下来就是检索信息的问题,我可以将ID放在末尾,然后就是substr()代码>我需要什么,并构建第四个查询以查看信息。。。好吧,就像你理论上说的,它可能会起作用。。。谢谢……从概念上讲,这是您需要做的事情——返回到我标记的重复数组,而不是返回唯一数组(多维数组),如果这是您想要的,则返回公共值array_diff()
将以相同的方式使用该函数,如果您正在序列化所有内容,请参考问题-“我需要比较3个键,而不仅仅是名称”,这是我已经拥有的,我需要检查数组的多个键…这不起作用,它是多维数组,因此您不能在_array()中使用)
检查其中是否存在键,因为它们将比数组中的更深一层()
检查。我看到的是他试图将数组的每一层更深一层插入一维数组,你说如果(!in_数组($v['nombre',$a))
-但是$a
是类似于:数组(0=>数组)的数组('nombre'=>'whatever',etc'=>'foobar')
-不起作用。