让我说我有一个像这样存储的数组。
Array (
[0] => width: 650px;border: 1px solid #000;
[1] => width: 100%;background: white;
[2] => width: 100%;background: black;
)
如何将数组[0]字符串拆分为“;”?然后我想再次将它们保存在数组中,或者将它们显示出来。我该怎么办?
Array(
[0] => width: 650px
[1] => border: 1px solid #000
)
有什么想法吗?谢谢高级
答案 0 :(得分:5)
爆炸命令:
explode(';', $array);
然后你必须追加';'到每个字符串的末尾。
答案 1 :(得分:2)
一个例子
foreach($array as $item) {
$mynewarray = explode(";",$item);
foreach($mynewarray as $newitem) {
$finalarray[] = $newitem.";";
}
//array is ready
}
答案 2 :(得分:1)
$arr = array('width: 650px;border: 1px solid #000;','width: 100%;background: white;','width: 100%;background: black;');
$arr = explode(';',implode(';',$arr));
for($i=0; $i < sizeof($arr)-1; $i++) { $arr[$i] .= ';'; }
print_r($arr);
将所有分号分隔的行打印为数组中的单独实体... +1空条目,您可以删除。
答案 3 :(得分:0)
我个人会使用preg_split
来摆脱最终分号中出现的额外数组元素......
$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;
编辑:不要在每行添加分号:
$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;
应该输出:
Array(
[0] => width: 650px;
[1] => border: 1px solid #000;
)
与爆炸不同,它应输出:
Array(
[0] => width: 650px;
[1] => border: 1px solid #000;
[2] => ;
)
答案 4 :(得分:0)
试试这个:
$a = "";
foreach($array as $value) {
flush();
$a .= explode(";",$value);
}