分隔数组并将其拆分为新数组
Delimit and split array into new array's
我有以下数组:
$data = ['user_first_name:string', 'user_last_name:string', 'user_email:email', 'user_password:password'];
如何将上述字符串转换为多个数组,每个数组包含第一部分作为索引[0],第二部分作为索引[1];
所以"user_first_name:string",应该转换成数组,如:
array("user_first_name", "string")
一些背景资料:
每个值的第一部分 ("user_first_name") 引用一个 POST 字段,第二部分引用要在我的验证 class 中使用的方法。例如: user_first_name 是我的 POST 中的一个字段,应该通过我的字符串过滤方法。
您可以将 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
)
)
<?php
$data = [
'user_first_name:string',
'user_last_name:string',
'user_email:email',
'user_password:password'
];
foreach($data as $pair)
$output[] = explode(':', $pair);
var_export($output);
输出:
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',
),
)
我有以下数组:
$data = ['user_first_name:string', 'user_last_name:string', 'user_email:email', 'user_password:password'];
如何将上述字符串转换为多个数组,每个数组包含第一部分作为索引[0],第二部分作为索引[1];
所以"user_first_name:string",应该转换成数组,如:
array("user_first_name", "string")
一些背景资料: 每个值的第一部分 ("user_first_name") 引用一个 POST 字段,第二部分引用要在我的验证 class 中使用的方法。例如: user_first_name 是我的 POST 中的一个字段,应该通过我的字符串过滤方法。
您可以将 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
)
)
<?php
$data = [
'user_first_name:string',
'user_last_name:string',
'user_email:email',
'user_password:password'
];
foreach($data as $pair)
$output[] = explode(':', $pair);
var_export($output);
输出:
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',
),
)