如何在PHP中基于值创建数组?

vig*_*h.D 2 php arrays

我有这样的数组

  Array
(
    [0] => 123_dr_for_ma_on_2352015_2nd Shift_(08-29-2015_11-31).pdf
    [1] => 123_dr_for_ma_on_2352015_2nd Shift_(08-29-2015_11-30).pdf
    [2] => 123_bms_for__on__(10-06-2015_18-36).pdf
)
Run Code Online (Sandbox Code Playgroud)

我想根据它的值将其转换为多维数组

  Array
(
    [dr] => Array
        (
            [0] => 123_dr_for_ma_on_2352015_2nd Shift_(08-29-2015_11-31).pdf
            [1] => 123_dr_for_ma_on_2352015_2nd Shift_(08-29-2015_11-30).pdf
        )
    [bms] => Array
        (
            [0] => 123_bms_for__on__(10-06-2015_18-36).pdf
        )
)  
Run Code Online (Sandbox Code Playgroud)

基于名字后的第一个下划线(bms,dr)就像.......请帮我实现这个目的

Pet*_*ter 18

我会做以下事情:

$newArray = array();
foreach ($array as $key => $value) {
    $parts = explode('_', $value);
    $newArray[$parts[1]][] = $value;
}

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