如何字符串转换为数组? [英] How to convert string to array?
本文介绍了如何字符串转换为数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要转换的字符串
名称1,B,2,NAME2,C,3,NAME3,B,2,.. ..
像数组
$改编[0] ['名'] =名称1;
$常用3 [0] ['字符'] =B;
$常用3 [0] [QNT'] =2;$常用3 [1] ['名'] =NAME2;
$常用3 [1] ['字符'] =C;
$常用3 [1] ['QNT'] =3;$常用3 [2] ['名'] =NAME3;
$常用3 [2] ['字符'] =b的;
$常用3 [2] ['QNT'] =2;
我用爆炸提取一个字符串数组,但它不能正常工作
任何想法?
解决方案
$输入='名称1,B,2,NAME2,C, 3,NAME3,b,2';
$输入= str_replace函数('','',$输入);
$输入=爆炸('',$输入);$输出=阵列();
$ I = 0;
而($ I<计数($输入)){
$输出[] =数组(
'名'=> $输入[$ i ++在]
'字符'= GT; $输入[$ i ++在]
QNT'=> $输入[$ I ++]
);
}的print_r($输出);
输出:
阵列
(
[0] =>排列
(
[名] =>名1
[字符] => b
[QNT] => 2
) [1] =>排列
(
[名] => NAME2
[字符] => C
[QNT] => 3
) [2] =>排列
(
[名] => NAME3
[字符] => b
[QNT] => 2
))
I need to convert string
"name1", "b", "2", "name2", "c", "3", "name3", "b", "2", ....
to an array like
$arr[0]['name'] = "name1";
$arr[0]['char'] = "b";
$arr[0]['qnt'] = "2";
$arr[1]['name'] = "name2";
$arr[1]['char'] = "c";
$arr[1]['qnt'] = "3";
$arr[2]['name'] = "name3";
$arr[2]['char'] = "b";
$arr[2]['qnt'] = "2";
I used explode to extract an string to array but it not work
Any idea?
解决方案
$input = '"name1", "b", "2", "name2", "c", "3", "name3", "b", "2"';
$input = str_replace('"', '', $input);
$input = explode(', ', $input);
$output = array();
$i = 0;
while ($i < count($input)) {
$output[] = array(
'name' => $input[$i++],
'char' => $input[$i++],
'qnt' => $input[$i++]
);
}
print_r($output);
Output:
Array
(
[0] => Array
(
[name] => name1
[char] => b
[qnt] => 2
)
[1] => Array
(
[name] => name2
[char] => c
[qnt] => 3
)
[2] => Array
(
[name] => name3
[char] => b
[qnt] => 2
)
)
这篇关于如何字符串转换为数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文