Php 使用2个数组创建对,以便没有重复的对?
我正在尝试创建一个脚本,从两个不同的数组创建对。例如,下面给出了两个数组:Php 使用2个数组创建对,以便没有重复的对?,php,php-7,Php,Php 7,我正在尝试创建一个脚本,从两个不同的数组创建对。例如,下面给出了两个数组: <?php //Array 1 $arr1 = array('A', 'B', 'C', 'D'); //Array 2 $arr2 = array('X', 'Y', 'Z'); **注意:2个数组可能因计数和值的数量不同而不同。我认为没有内置的支持。 您需要循环嵌套的数组并构建一个结果数组 $arr1 = array('A', 'B', 'C', 'D'); $arr2 = a
<?php
//Array 1
$arr1 = array('A', 'B', 'C', 'D');
//Array 2
$arr2 = array('X', 'Y', 'Z');
**注意:2个数组可能因计数和值的数量不同而不同。我认为没有内置的支持。
您需要循环嵌套的数组并构建一个结果数组
$arr1 = array('A', 'B', 'C', 'D');
$arr2 = array('X', 'Y', 'Z');
foreach($arr1 as $item1){
foreach($arr2 as $item2){
$res[] = [$item1, $item2];
}
}
var_dump($res);
我认为没有内置的支持。
您需要循环嵌套的数组并构建一个结果数组
$arr1 = array('A', 'B', 'C', 'D');
$arr2 = array('X', 'Y', 'Z');
foreach($arr1 as $item1){
foreach($arr2 as $item2){
$res[] = [$item1, $item2];
}
}
var_dump($res);
这是我的。可以通过
//Array 1
$arr1 = array('A', 'B', 'C', 'D');
//Array 2
$arr2 = array('X', 'Y', 'Z');
$output = array();
foreach($arr1 as $i1){
foreach ($arr2 as $i2) {
$output[] = array($i1, $i2);
}
}
echo json_encode($output);
如果您希望输出的顺序与上面提到的相同,那么下面的步骤应该可以做到这一点
$newoutput = array();
$x = 0;
$y = 0;
for($i = 1; $i <= (count($arr1) * count($arr2)); $i++){
$newoutput[] = array($arr1[($x % count($arr1))], $arr2[($y % count($arr2))]);
$x++;
$y++;
}
echo "<br />", json_encode($newoutput);
$newoutput=array();
$x=0;
$y=0;
对于($i=1;$i0
而言,这是可以通过
//Array 1
$arr1 = array('A', 'B', 'C', 'D');
//Array 2
$arr2 = array('X', 'Y', 'Z');
$output = array();
foreach($arr1 as $i1){
foreach ($arr2 as $i2) {
$output[] = array($i1, $i2);
}
}
echo json_encode($output);
如果您希望输出的顺序与上面提到的相同,那么下面的步骤应该可以做到这一点
$newoutput = array();
$x = 0;
$y = 0;
for($i = 1; $i <= (count($arr1) * count($arr2)); $i++){
$newoutput[] = array($arr1[($x % count($arr1))], $arr2[($y % count($arr2))]);
$x++;
$y++;
}
echo "<br />", json_encode($newoutput);
$newoutput=array();
$x=0;
$y=0;
对于($i=1;$i 0
请尝试此选项(如果找到,将对同一对进行排序):
尝试此选项(如果找到,将对同一对进行排序):
这是一个以相同顺序输出唯一值的示例: 在线评估:
这是一个以相同顺序输出唯一值的示例:
在线评估:
为什么要重新发明轮子?为什么要重新发明轮子?嗨,罗密欧,你的代码工作很好,但是在这个数组重复时检查你的代码。$arr1=array('X','Y');$arr2=array('A','B','C','D','E','F','G','I','J','K'))
。谢谢!我已经解决了这个问题,也非常感谢您的帮助。@AjayKumar如果您愿意,您可以更新这个问题以反映您的改进,以便将来阅读此问题的任何人都会受益…:)嗨,罗密欧,您的代码工作正常,但请使用此数组检查您的代码,因为它正在重复$arr1=array('X',Y'))$arr2=array('A','B','C','D','E','F','G','I','J','K');
。谢谢!我已经解决了这个问题,也非常感谢您的帮助。@AjayKumar如果您愿意,您可以更新这个问题以反映您的改进,以便将来阅读此问题的任何人都会受益……)