Php 将新阵列与上一个阵列进行比较
我有一个包含4个元素的数组Php 将新阵列与上一个阵列进行比较,php,Php,我有一个包含4个元素的数组 [1, 2, 3, 4] 到目前为止,我正在打印几个数组,每个数组中都有不同的元素,达到我设定的限制 for($i = 0; $i<=100; $i++){//... 如果传出数组与上一个数组相等,如何将传出数组与下一个传出数组进行比较并删除新数组 您可以借助内爆()为数组创建一个键,并拥有一个具有该键的集合数组。如果键已经存在,那么迭代中的当前数组是一个重复的数组,否则它是一个新数组。记住对当前数组进行排序,因为这里的数字顺序很重要,以便进行正确的键检查
[1, 2, 3, 4]
到目前为止,我正在打印几个数组,每个数组中都有不同的元素,达到我设定的限制
for($i = 0; $i<=100; $i++){//...
如果传出数组与上一个数组相等,如何将传出数组与下一个传出数组进行比较并删除新数组 您可以借助
内爆()
为数组创建一个键,并拥有一个具有该键的集合
数组。如果键已经存在,那么迭代中的当前数组是一个重复的数组,否则它是一个新数组。记住对当前数组进行排序,因为这里的数字顺序很重要,以便进行正确的键检查
<?php
$arr = [
[11, 22, 32, 44],
[22, 33, 44, 45],
[12, 24, 25, 31],
[15, 16, 31, 41],
[22, 33, 44, 45],
[44, 22, 32, 11]
];
$set = [];
foreach($arr as $curr_array){
sort($curr_array);
$hash = implode("|",$curr_array);
if(isset($set[$hash])) echo "Duplicate",PHP_EOL;
else{
print_r($curr_array);
$set[$hash] = true;
}
}
请阅读并相应编辑您的问题。您需要向我们提供您的完整尝试、示例数据、预期结果以及您当前获得的结果。in_array([22,33,44,45]、[11,22,32,44]、[22,33,44,45])将为您提供完美的答案!就这样!我也感谢其他评论!先生,在没有重复之前,我可以使用哪个循环和条件?这是可能的?@DavidConcha在不再有重复项之前,你所说的是什么意思?
?在这些重复项之间进行所有可能的组合arrays@DavidConcha我不明白。你能举个例子吗?好的,你真的帮了我很多,我会尝试一些东西。再次感谢!
<?php
$arr = [
[11, 22, 32, 44],
[22, 33, 44, 45],
[12, 24, 25, 31],
[15, 16, 31, 41],
[22, 33, 44, 45],
[44, 22, 32, 11]
];
$set = [];
foreach($arr as $curr_array){
sort($curr_array);
$hash = implode("|",$curr_array);
if(isset($set[$hash])) echo "Duplicate",PHP_EOL;
else{
print_r($curr_array);
$set[$hash] = true;
}
}