【发布时间】:2019-02-18 08:42:49
【问题描述】:
我正在尝试分隔一个字符串,该字符串具有多个由 ; 分隔的值每个值和键由 | 分隔。理想情况下,我希望它最终看起来像这样:
$array = array(
array( "qty" => "2", "code" => "YQTWEY33" ),
array( "qty" => "1", "code" => "YQTWEY53" )
)
我有一个名为 $str 的变量中的字符串,我正在使用explode 函数来分离不同的值。但是,我不确定从这里去哪里。有人可以帮忙吗?
$str = "qty: 2 | code: YQTWEY33; qty: 1 | code: YQTWEY53";
$topics = array();
foreach (explode(';', $str) as $topic) {
list($name, $items) = explode('|', $topic);
$topics[$name] = explode(':', $items);
print_r($topics);
}
【问题讨论】:
-
请注意,如果您使用
preg_split('/\s*;\s*/', $str)而不是explode(';', $str),那么您的字符串将被自动修剪掉空格,您以后不必手动执行此操作。
标签: php arrays multidimensional-array explode