首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将字符串数组拆分为多个片段

将字符串数组拆分为多个片段
EN

Stack Overflow用户
提问于 2010-07-15 10:50:11
回答 5查看 813关注 0票数 1

假设我有一个像这样存储的数组。

代码语言:javascript
运行
复制
Array ( 
   [0] => width: 650px;border: 1px solid #000; 
   [1] => width: 100%;background: white; 
   [2] => width: 100%;background: black; 
) 

如何通过分隔";“将数组字符串拆分成多个片段?然后我想再次将它们保存在数组中,或者将它们显示出来。我怎么发动汽车呢?

代码语言:javascript
运行
复制
Array(
   [0] => width: 650px
   [1] => border: 1px solid #000
)

有什么想法吗?在高级中感谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-15 11:02:55

我个人会使用preg_split来去掉从最后一个分号开始出现的额外数组元素……

代码语言:javascript
运行
复制
$newarray = array();
foreach ($array as $i => $styles):
    // Split the statement by any semicolons, no empty values in the array
    $styles = preg_split("/;/", $styles, -1, PREG_SPLIT_NO_EMPTY);
    // Add the semicolon back onto each part
    foreach ($styles as $j => $style) $styles[$j] .= ";";
    // Store those styles in a new array
    $newarray[$i] = $styles;
endforeach;

编辑:不要在每行中添加分号:

代码语言:javascript
运行
复制
$newarray = array();
foreach ($array as $i => $styles):
    // Split the statement by any semicolons, no empty values in the array
    $newarray[$i] = preg_split("/;/", $styles, -1, PREG_SPLIT_NO_EMPTY);
endforeach;

哪一项应该输出:

代码语言:javascript
运行
复制
Array(
   [0] => width: 650px;
   [1] => border: 1px solid #000;
)

与explode不同,explode应输出:

代码语言:javascript
运行
复制
Array(
   [0] => width: 650px;
   [1] => border: 1px solid #000;
   [2] => ;
)
票数 0
EN

Stack Overflow用户

发布于 2010-07-15 10:55:00

explode命令:

代码语言:javascript
运行
复制
explode(';', $array);

然后,您必须将';‘附加到每个字符串的末尾。

票数 5
EN

Stack Overflow用户

发布于 2010-07-15 11:02:50

一个例子

代码语言:javascript
运行
复制
foreach($array as $item) {
   $mynewarray = explode(";",$item);
   foreach($mynewarray as $newitem) {
        $finalarray[] = $newitem.";";
   }
   //array is ready
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3252160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档