php根据定界符把字符串解析为数组一般使用explode方法实现
?
1
2
3
4
5
|
<?php
$str = '1,2,3' ;
$arr = explode ( ',' , $str );
print_r( $arr );
?>
|
输出:
?
1
2
3
4
5
6
|
Array
(
[0] => 1
[1] => 2
[2] => 3
)
|
但对于一些较复杂的字符串,例如csv格式,使用explode不能得出想要的结果,而使用正则较麻烦。
例如:
?
1
2
3
4
5
|
<?php
$str = "中国,广东省,广州市,天河区,'113.329884,23.154799',1,'2016-01-01 12:00:00','1,2,3,4,5,6'" ;
$arr = explode ( ',' , $str );
print_r( $arr );
?>
|
输出:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Array
(
[0] => 中国
[1] => 广东省
[2] => 广州市
[3] => 天河区
[4] => '113.329884
[5] => 23.154799'
[6] => 1
[7] => '2016-01-01 12:00:00'
[8] => '1
[9] => 2
[10] => 3
[11] => 4
[12] => 5
[13] => 6'
)
|
实际上想得到的结果是:
?
1
2
3
4
5
6
7
8
9
10
11
|
Array
(
[0] => 中国
[1] => 广东省
[2] => 广州市
[3] => 天河区
[4] => 113.329884,23.154799
[5] => 1
[6] => 2016-01-01 12:00:00
[7] => 1,2,3,4,5,6
)
|
php提供了str_getcsv方法,可以把字符串作为csv格式来处理,这样方便解析为数组。
?
1
|
array str_getcsv ( string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\\\" ]]] )
|
参数:
input 待解析的字符串
delimiter 设定字段界定符(仅单个字符)
enclosure 设定字段包裹字符(仅单个字符)
escape 设置转义字符(仅单个字符),默认为反斜线(\\)
实例:
?
1
2
3
4
5
|
<?php
$str = "中国,广东省,广州市,天河区,'113.329884,23.154799',1,'2016-01-01 12:00:00','1,2,3,4,5,6'" ;
$arr = str_getcsv( $str , ',' , "'" );
print_r( $arr );
?>
|
输出:
?
1
2
3
4
5
6
7
8
9
10
11
|
Array
(
[0] => 中国
[1] => 广东省
[2] => 广州市
[3] => 天河区
[4] => 113.329884,23.154799
[5] => 1
[6] => 2016-01-01 12:00:00
[7] => 1,2,3,4,5,6
)
|
相关文章
猜你喜欢
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-29 69
-
2025-06-04 62
-
2025-05-27 101
-
2025-05-25 56
-
2025-05-25 95
热门评论