加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何制作数组值对?

发布时间:2020-12-13 17:10:44 所属栏目:PHP教程 来源:网络整理
导读:考虑以下数组作为输入: $input = array('A','B','C','D'); 我正在寻找一种通过这个数组进行循环的方法,写下每个可能的两个值对.在此示例中:AB AC AD BC BD CD.请注意,BA不是一对,因为已经提到了AB: $output = array( 'A' = 'B','A' = 'C','A' = 'D','B' =
考虑以下数组作为输入:

$input = array('A','B','C','D');

我正在寻找一种通过这个数组进行循环的方法,写下每个可能的两个值对.在此示例中:AB AC AD BC BD CD.请注意,BA不是一对,因为已经提到了AB:

$output = array(
  'A' => 'B','A' => 'C','A' => 'D','B' => 'C','B' => 'D'
);

关于如何开始这一点的任何输入表示赞赏!

解决方法

$output=array();
for ($i=0;$i<sizeof($input);$i++) {
  $k=$input[$i];
  for ($j=$i+1;$j<sizeof($input);$j++) {
    $v=$input[$j];
    $output[]=array($k=>$v);
  }
}

编辑

截至评论时,重组后的输出

$output=array();
//See below
for ($i=0;$i<sizeof($input);$i++) {
  $k=$input[$i];
  $v=array();
  for ($j=$i+1;$j<sizeof($input);$j++) {
    $v[]=$input[$j];
  }
  $output[]=array($k=>$v);
}

这将给你’D’=> Array()作为最后一行,如果你不想要hti你必须改变

for ($i=0;$i<sizeof($input);$i++) {

for ($i=0;$i<sizeof($input)-1;$i++) {

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读