【发布时间】:2022-01-07 09:10:42
【问题描述】:
我在变量$s中有一段文本:
FOO:317263
BAR:abcd
BAZ:s fsiu sfd sdf s dfsdddddd
获取关联数组的最简单方法(并且具有良好的解析性能)是什么:
$a = array('FOO' => '317263', 'BAR' => 'abcd', 'BAZ' => 's fsiu sfd sdf s dfsdddddd');
?
到目前为止,我使用的是:
preg_match("/^FOO:(.*)$/m", $s, $matches1);
$a['FOO'] = $matches1[1];
preg_match("/^BAR:(.*)$/m", $s, $matches1);
$a['BAR'] = $matches1[1];
...
但是有没有更简单的方法呢?
【问题讨论】:
-
我会使用
explode(): 1. 按换行符分解,然后 2. 循环遍历结果并按:分解并将其放入关联数组中。 -
如果数组键有重复怎么办? (因为关联数组可能会中断)
-
@nice_dev 键中没有重复项,如果发生这种情况,如果有问题我没关系,因为无论如何都不应该发生。
-
@Basj 好吧。
标签: php arrays parsing preg-match associative-array