我有一个像这样的数组
Array
(
[0] => section 1
[1] => xyz
[2] => xyz
[3] => xyz
[4] => ====================================================================================================
[5] => section 2
[6] => abc
[7] => abc
[8] => ====================================================================================================
)
Run Code Online (Sandbox Code Playgroud)
所以我想将这个数组转换成一个二维数组,其中==================作为分隔符
有可能是这样的吗?
Array
(
[0] => Array
(
[0] => section 1
[1] => xyz
[2] => xyz
[3] => xyz
)
[1] => Array
(
[0] => section 2
[1] => abc
[2] => abc
)
)
Run Code Online (Sandbox Code Playgroud)
试图使用爆炸方法但似乎没有返回我真正想要的东西
explode()使用字符串.你可以用common foreach-loop 做到这一点:
$result = [];
$index = 0;
foreach($array as $value){
if(preg_match('/^\=+$/', $value)){
$index++;
} else {
$result[$index][] = $value;
}
}
print_r($result);
Run Code Online (Sandbox Code Playgroud)
例:
<?php
header('Content-Type: text/plain; charset=utf-8');
$array = [
1,
2,
'section',
'=============',
'test',
'test2',
null
];
$result = [];
$index = 0;
foreach($array as $value){
if(preg_match('/^\=+$/', $value)){
$index++;
} else {
$result[$index][] = $value;
}
}
print_r($result);
?>
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => section
)
[1] => Array
(
[0] => test
[1] => test2
[2] =>
)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31 次 |
| 最近记录: |