PHP - 如果值2大于1,则拆分数组(

nic*_*ler 0 php arrays split

我今晚努力工作以弄清楚如何将我的数组拆分成很多数组,由数组中的值定义

我可以拥有这个价值

$array = array ( 
    array ("Apple", 10),
    array("Ball", 5) 
);
Run Code Online (Sandbox Code Playgroud)

然后我希望Apple拥有10个数组,其值为"Apple",而Ball需要5个数组,其值为"Ball"

然后我想出了这个,但输出似乎很奇怪..

$newarray = array();
foreach($array as $val):
    for($i = 1; $i <= $val[1]; $i++):
        $newarray[$i] = $val[0];
    endfor;
endforeach;

print_r($newarray);
// Array ( [0] => Ball [1] => Ball [2] => Ball [3] => Ball [4] => Ball [5] => Ball [6] => Apple [7] => Apple [8] => Apple [9] => Apple [10] => Apple )
Run Code Online (Sandbox Code Playgroud)

希望你们理解我的问题,并希望有人能够弄明白.

提前谢谢.

Dav*_*dom 6

array_fill() 可以帮助:

$result = array();

foreach ($array as $sub) {
  $result[] = array_fill(0, $sub[1], $sub[0]);
}

print_r($result);
Run Code Online (Sandbox Code Playgroud)

请在此处查看:http://viper-7.com/MhnWFt