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',]

肥皂起泡泡
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)
添加回答
举报
0/150
提交
取消