3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr1 = Array( Array ( 'C1', 'C1', 'C1', 'AC', 'AC' ) ); $arr2 = Array( Array( 'C1_complete', 'C1_29-95', 'C1_49-95', 'AC_complete', 'AC_29-95' ) ); $data = array_combine(array_values($arr1[0]),array_fill(0,count($arr1[0]),[])); array_walk($arr2[0],function($value) use (&$data){ if(isset($data[explode("_",$value)[0]])) $data[explode("_",$value)[0]][] = $value; }); $data = [$data]; // since you want it inside another array. print_r($data);
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
Array ( [0] => Array ( [C1] => Array ( [0] => C1_complete [1] => C1_29-95 [2] => C1_49-95 ) [AC] => Array ( [0] => AC_complete [1] => AC_29-95 ) ) )

preferences:
117.12 ms | 404 KiB | 185 Q