$s="流 水 号:JH0019 状 态:处理中 等级 :高 时间: 2013-05-28 12:55:29"如何转为数组结构为
array(
[流水号]=>JH0019
[状态]=>处理中
[等级]=>高
[时间]=>2013-05-28 12:55:29
)
我的思路是:
先把“ ”改|
再把||改|
再把:|改:
再把|:改:
但是时间中的空格和流 水 号中间的空格我就不知道怎么去掉了
最后用
$a=array();
foreach (explode('|',$s) as $s){
list($k,$v)=explode(':',$s);
$a[$k]=$v;}
我已经经改晕了,如何能搞出结果,请大家帮帮忙,谢谢
array(
[流水号]=>JH0019
[状态]=>处理中
[等级]=>高
[时间]=>2013-05-28 12:55:29
)
我的思路是:
先把“ ”改|
再把||改|
再把:|改:
再把|:改:
但是时间中的空格和流 水 号中间的空格我就不知道怎么去掉了
最后用
$a=array();
foreach (explode('|',$s) as $s){
list($k,$v)=explode(':',$s);
$a[$k]=$v;}
我已经经改晕了,如何能搞出结果,请大家帮帮忙,谢谢
解决方案 »
- PHP过滤代码,正则表达式过滤<script></script>
- 构造函数可以返回值吗?
- PHP删除XML结点的奇怪现象,
- Macromedia公司说我们公司制作网页用的Dreamweaver工具盗版的,请教。
- 一段代码在WINDOWS+PHP+MYSQL上运行正常,在LINUX下不正常
- 初学者问题:表单发送后无法调用PHP处理
- 如何得到浏览器的版本?
- 急!急!!急!!! 为什么PHP无论如何也与MSSQL Server2000连接不上?
- 如何得到用户所使用的浏览器的语言使中文还是英文?回答有分!
- nginx+php-fpm部分网页显示空白
- 正则表达式问题
- 用PHP写的一个过期会员清理工具 运行很慢
$a = preg_split('/:\s*([ \d:-]+|\S+)/', $s, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
foreach(array_chunk($a, 2) as $r) {
$res[preg_replace('/\s| /', '', $r[0])] = $r[1];
}print_r($res);Array
(
[流水号] => JH0019
[状态] => 处理中
[等级] => 高
[时间] => 2013-05-28 12:55:29
)
$s="流 水 号:JH0019 状 态:处理中 等级 :高 时间: 2013-05-28 12:55:29";
preg_match_all('/([^:]+):([^\s]+)/', $s, $m);
echo '<pre>';
var_dump($m);/**
输出结果:
array(3) {
[0]=>
array(3) {
[0]=>
string(20) "流 水 号:JH0019"
[1]=>
string(24) " 状 态:处理中"
[2]=>
string(15) " 等级 :高"
}
[1]=>
array(3) {
[0]=>
string(11) "流 水 号"
[1]=>
string(12) " 状 态"
[2]=>
string(9) " 等级 "
}
[2]=>
array(3) {
[0]=>
string(6) "JH0019"
[1]=>
string(9) "处理中"
[2]=>
string(3) "高"
}
}
*/