将php数组中的所有值与其他值进行比较
我有一个php数组 如何比较此数组的所有值并根据自定义逻辑筛选出值(可能是回调函数) 本质上,我想将每个数组值与数组中的每个其他值进行比较,并基于一些自定义逻辑,要么保留该值,要么将其从数组中删除将php数组中的所有值与其他值进行比较,php,arrays,Php,Arrays,我有一个php数组 如何比较此数组的所有值并根据自定义逻辑筛选出值(可能是回调函数) 本质上,我想将每个数组值与数组中的每个其他值进行比较,并基于一些自定义逻辑,要么保留该值,要么将其从数组中删除 谢谢您可能需要手动操作: function your_callback($a, $b) { return $a != $b; } $array = array(/** Your array here... **/); $n = count($array); $filtered = arr
谢谢您可能需要手动操作:
function your_callback($a, $b)
{
return $a != $b;
}
$array = array(/** Your array here... **/);
$n = count($array);
$filtered = array();
for($i = 0; $i < $n; $i++)
{
$ok = true;
for($j = 0; $j < $n; $j++)
{
if($j != $i && !your_callback($array[$i], $array[$j])
{
$ok = false;
break;
}
}
if($ok)
array_push($filtered, $array[$i]);
}
unset($array);
$array = $filtered;
使用您的_回调函数($a,$b)
{
返回$a!=$b;
}
$array=array(/**此处的数组…**/);
$n=计数($array);
$filtered=array();
对于($i=0;$i<$n;$i++)
{
$ok=true;
对于($j=0;$j<$n;$j++)
{
如果($j!=$i&&!您的_回调($array[$i],$array[$j])
{
$ok=false;
打破
}
}
如果($ok)
数组推送($filtered,$array[$i]);
}
未设置($数组);
$array=$filtered;
例如,此示例将筛选数组的唯一值;更改您的\u回调定义以实现其他逻辑。您可以调用数组\u映射,将回调作为第一个参数传递,并将数组作为第二个和第三个参数传递两次。在回调函数中,您可以循环“第二个”数组并返回元素(如果需要)。如果希望按顺序将一个数组的值与另一个数组的值进行比较,那么我的代码非常简单:检查一下它的工作原理如下: 如果(数组-1的第一个值等于数组-2的第一个值){$res=$res+5}
if($_POST){
$res=0;
$r=$_POST['Radio1']; //array-1
$anr=$_POST['answer']; //array-2
$arr=count($r);
for($ac=0; $ac<$arr; $ac++){
if($r[$ac]==$anr[$ac]){
$res=$res+5;
}
}
echo $res;
}
if($\u POST){
$res=0;
$r=$\u POST['Radio1'];//数组-1
$anr=$_POST['answer'];//数组-2
$arr=计数($r);
对于($ac=0;$ac),我想到了,或者只是在数组上迭代。您有什么问题吗?您好。array_filter将回调应用于数组的每个元素。我正在寻找一些可以相互比较数组元素的东西。类似于usort()的东西,它提供了两个参数,您可以决定如何进行排序