为了账号安全,请及时绑定邮箱和手机立即绑定

求助:这样的php多维数组如何拼接成最后我想要的结果?

求助:这样的php多维数组如何拼接成最后我想要的结果?

慕妹3242003 2019-04-27 22:14:27
php数组$array如下:0=>array(size=2)0=>string'红色'(length=6)1=>string'黄色'(length=6)1=>array(size=2)0=>string'16G'(length=3)1=>string'32G'(length=3)想要的最后输出为:红色-16G红色-32G黄色-16G黄色-32G不知道是如何实现的?补充数组$array的长度不固定,可能会如下0=>array(size=2)0=>string'红色'(length=6)1=>string'黄色'(length=6)1=>array(size=2)0=>string'16G'(length=3)1=>string'32G'(length=3)2=>array(size=2)0=>string'有锁'(length=6)1=>string'无锁'(length=6)
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

$arr=[
['红色','黄色'],
['16G','32G'],
];
$targetArr=[];
$colorArr=$arr[0];
$sizeArr=$arr[1];
foreach($colorArras$key=>$value){
foreach($sizeArras$v){
$targetArr[]="$value-$v";
}
}
var_dump($targetArr);//[0=>'红色-16G',1=>'红色-32G',2=>'黄色-16G',3=>'黄色-32G',]
                            
查看完整回答
反对 回复 2019-04-27
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

functionfunc($sets){
if(!$sets)return[];
$result=array_shift($sets);
$count=count($sets);
for($i=0;$i<$count;$i++){
$tmp=[];
foreach($resultas$res){
foreach($sets[$i]as$set){
$tmp[]=$res.'-'.$set;
}
}
$result=$tmp;
}
return$result;
}
$arr=[
['红色','黄色'],
['16G','32G'],
['华为','荣耀','mate']
];
$c=func($arr);
print_r($c);
Array
(
[0]=>红色-16G-华为
[1]=>红色-16G-荣耀
[2]=>红色-16G-mate
[3]=>红色-32G-华为
[4]=>红色-32G-荣耀
[5]=>红色-32G-mate
[6]=>黄色-16G-华为
[7]=>黄色-16G-荣耀
[8]=>黄色-16G-mate
[9]=>黄色-32G-华为
[10]=>黄色-32G-荣耀
[11]=>黄色-32G-mate
)
                            
查看完整回答
反对 回复 2019-04-27
  • 2 回答
  • 0 关注
  • 331 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号