PHP中实现类似笛卡尔积的需求

  • 今天遇到了这么个需求,其实要的数据格式就和笛卡尔积类似,如下 :
$userids = [1,2];
$classids = ['4','5','6'];

// 要求把上面这两个数组最终变成下面这个样子
$datas = [
	['userid' => 1,'classid' => '4'],
	['userid' => 1,'classid' => '5'],
	['userid' => 1,'classid' => '6'],
	
	['userid' => 2,'classid' => '4'],
	['userid' => 2,'classid' => '5'],
	['userid' => 2,'classid' => '6'],	
];

  • 方法一 :
$userids = [1,2];
$classids = ['4','5','6'];
$index = 0;
$data = [];

foreach($userids as $userid) {
	foreach($classids as $classid) {
		$data[$index]['userid'] = $userid;
		$data[$index]['classid'] = $classid;
		$index ++;
	}
}
  • 方法二 :
$userids = [1,2];
$classids = ['4','5','6'];

foreach($userids as $userid) {
	foreach($classids as $classid) {
		$data[] = [
			'userid' => $userid,
			'classid' => $classid
		];
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值