次のようにデータが設定された配列があります
[0] =>"npage:new",
[1] =>"data:data",
[2] =>"data:data",
[3] =>"npage:new",
[4] =>"data:data",
[5] =>"data:data",
[6] =>"data:data",
[7] =>"npage:new",
[8] =>"data:data",
[9] =>"data:data",
各「npage:new」で、それと次の「npage:new」の間にデータの別のインデックスを作成するように、配列を再配置しようとしています。「npage:new」を持たないが、それでもインデックスが必要な最後のセットまで。例:
[0] =>
"data:data",
"data:data",
[1] =>
"data:data",
"data:data",
"data:data",
[2] =>
"data:data",
"data:data",
私は次のものを持っていますが、空の配列を返します & 私は物事を複雑にしすぎていると思います.
$source[] = the array
$destination = array();
$startval = "new";
$found = 0;
$starindex = 0;
foreach ($source as $index => $value){
if ($value === $startval) {
$found = $value;
$startindex = $index;
}
elseif ( $value === $found) {
$destination[] = array_slice($source, $startindex, $index - $startindex + 1);
$found = 0;
}
}