首页 > 解决方案 > 将数组分隔并拆分为新数组

问题描述

我有以下数组:

$data = ['user_first_name:string', 'user_last_name:string', 'user_email:email', 'user_password:password'];

如何将上述字符串转换为多个数组,每个数组的第一部分为 index[0],第二部分为 index[1];

所以 "user_first_name:string", 应该被转换成一个数组,比如:

array("user_first_name", "string")

一些背景信息: 每个值的第一部分(“user_first_name”)引用一个 POST 字段,第二部分引用要在我的 Validate 类中使用的方法。例如:user_first_name 是我的 POST 中的一个字段,应该通过我的字符串过滤方法。

标签: phparrayssplitdelimiter

解决方案


您可以将 array_map 与爆炸一起使用:

<?php

$data = ['user_first_name:string', 'user_last_name:string', 'user_email:email', 'user_password:password'];

$data = array_map(function($item) {
    return explode(':', $item);
}, $data);

print_r($data);

输出:

Array
(
    [0] => Array
        (
            [0] => user_first_name
            [1] => string
        )
    [1] => Array
        (
            [0] => user_last_name
            [1] => string
        )
    [2] => Array
        (
            [0] => user_email
            [1] => email
        )
    [3] => Array
        (
            [0] => user_password
            [1] => password
        )
)

推荐阅读