3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array(array("o_name" => "color,size", "option" => "red-s")); $array[] = array("o_name" => "color,size", "option" => "red-m"); $array[] = array("o_name" => "color,size", "option" => "blue-s"); $array[] = array("o_name" => "color,size", "option" => "blue-m"); $res = []; foreach($array as $row) { $data = array_combine(explode(',', $row['o_name']), explode('-', $row['option'])); foreach($data as $name => $v) { $res[$name][$v] = true; } } $res = array_map(function ($e) {return implode(",", array_keys($e));}, $res); print_r($res);
Output for 7.1.25 - 7.1.28, 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 ( [color] => red,blue [size] => s,m )

preferences:
120.45 ms | 403 KiB | 165 Q