比如 我有一个数组
$arr = array('颜色' => array('红色','白色'),'形状' => array('方形','圆形'));
我如何把它变成
$arr = array(array('红色','方形'),array('红色','圆形'),array('白色','方形'),array('白色','圆形');类似一个乘积的形式,请高手给出,一般解法,比如再加个材料,也可以获得这种乘积形式.
$arr = array('颜色' => array('红色','白色'),'形状' => array('方形','圆形'));
我如何把它变成
$arr = array(array('红色','方形'),array('红色','圆形'),array('白色','方形'),array('白色','圆形');类似一个乘积的形式,请高手给出,一般解法,比如再加个材料,也可以获得这种乘积形式.
$b = array(3,4);$c = array();
foreach( $a as $v1 )
{
foreach( $b as $v2 )
{
$c[] = array( v1, v2 );
}
}var_dump( $c );
$s = $arr;
$r = array_shift($arr);
foreach($arr as $k=>$val)
{
$n = array();
foreach($r as $v)
{
foreach($val as $v2)
{
$n[] = $v.'-'.$v2;
}
}
$r = $n;
}
echo "<pre/>";
print_r($r);
这类型的问题貌似提了不少次。
http://topic.csdn.net/u/20090723/10/e899a272-dd18-4389-85cf-83aa78e7c368.html
这里有一个。
{
return array($a,$b);
}
var_dump(array_map(combin,$arr['颜色'], $arr['形状']));
!foreach 轻松帮你解决!