所以我有一个看起来像这样的数组:
Array
(
[0] => john.smith@domain.com:John
[1] => jane.doe@domain.com:Jane
)
正如您所看到的,它是用户的邮件和用户名,由冒号分隔。
我想创建一个爆炸冒号的多维数组,然后创建一个看起来更像
的多维数组Array
(
[0] => Array
(
[user_email] => john.smith@domain.com
[user_name] => John
)
[1] => Array
(
[user_email] => jane.doe@domain.com
[user_name] => Jane
)
)
答案 0 :(得分:0)
你可以这样做:
<?php
$data = [
"john.smith@domain.com:John",
"jane.doe@domain.com:Jane"
];
function customArray($data){
$final = [];
$i = 0;
foreach($data as $k => $v){
$splitted = explode(":",$v);
$final[$i]['user_email'] = $splitted[0];
$final[$i]['user_name'] = $splitted[1];
$i++;
}
return $final;
}
print_r(customArray($data));
查看结果here。 基本上我上面做的是
:
,[$i]
在迭代中对它们进行索引,以便每个原始数组元素正确配对新的键/值。请正确命名,我只是举个例子: - )
答案 1 :(得分:0)
您可以爆炸源数组的每个元素并将其保存在新数组中,如下所示。最后,您将在$ result数组中获得所需的格式。
$source_array = array("john.smith@domain.com:John","jane.doe@domain.com:Jane");
foreach($name_email_array as $key => $value){
$name_email = explode(":",$value);
$result[$key]['user_email'] = $name_email[0];
$result[$key]['user_name'] = $name_email[1];
}