【发布时间】:2018-06-13 20:43:17
【问题描述】:
我有一个字符串需要分解并获取信息。
示例字符串:
"20' Container 1, 40' Open Container 1, 40-45' Closed Container 3, container roll 10, container lift 50"
首先我通过, 分解字符串并得到
"20' Container 1"
"40' Open Container 1"
"40-45' Closed Container 3"
现在我也想分解已经分解的数组,以便得到以下格式的结果
array[
0 => [
0 => "20'"
1 => "Container"
2 => "1"
]
1 => [
0 => "40'"
1 => "Open Container"
2 => "1"
]
2 => [
0=> container roll
1=> 10
]
3=> [
0=> container lift
1 => 50
]
]
字符串可能会有所不同,但会决定格式相同,例如length type number 其中length 是可选的,
我在做
$pattern = '/([\d-]*\')\s(.*)\s(\d+)/';
foreach (explode(', ', $equipment->chassis_types) as $value) {
preg_match($pattern, $value, $matches); // Match length, type, number
$result[] = array_slice($matches, 1); // Slice with offset 1
$equipment->tokenized = $result;
}
我明白了
Array
(
[0] => Array
(
[0] => 20'
[1] => container
[2] => 10
)
[1] => Array
(
[0] => 40'
[1] => open container
[2] => 10
)
[2] => Array
(
[0] => 40-45'
[1] => closed container
[2] => 20
)
[3] => Array
(
)
[4] => Array
(
)
)
【问题讨论】:
-
那之后你想做什么
-
我想要我已经解释过的结果数组
-
预期结果数组中的数组索引 3 和 4 怎么样
-
抱歉,编辑了问题
-
类似这样的东西:regex101.com/r/06yaue/1 ?这里也不需要拆分。
标签: php arrays regex string preg-match