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

标签 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
)

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

  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
        )
)  

基于第一个下划线后的名称(bms、dr),如......请帮助我实现这一目标

最佳答案

我会做以下事情:

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

print_r($newArray); 

关于php - 如何在 PHP 中创建基于值的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33362215/

相关文章:

php - 获取数组时没有结果出现 - PHP/MYSQL

java - 如何为数组编写 get 和 set 方法

arrays - 在 C 中迭代结构体数组

javascript - 最小化具有重复值 Javascript 的数组

python - 稀疏矩阵加法产生 'ValueError: setting an array element with a sequence.'

javascript - 向 javascript 数组的 n 种组合添加计数器

php - 如何刷新网站缓存?

php - 如何使用 PHP 获取文件名?

php - Cloudflare 不会通过 CURL 请求缓存页面

PHP/MySQL 一个数组中包含两行