3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = Array ( 'cap' => 3, 'shirt' => 2, 'tatuaggio' => 1, 'badge' => 2 ); $res=[]; foreach($a as $k => $v){ $res[] = array_fill(0, $v, $k); } print_r(array_merge(...$res));// splat operator echo "----------------Without Splat operator -------------------------------------"; $res=[]; foreach($a as $k => $v){ $res = array_merge($res,array_fill(0, $v, $k)); } print_r($res); echo "----------------With foreach and for -------------------------------------"; $res=[]; foreach($a as $k => $v){ for($i=0;$i<$v;$i++) $res[] = $k; } print_r($res);

preferences:
30.71 ms | 402 KiB | 5 Q