1 回答

TA貢獻1850條經(jīng)驗 獲得超11個贊
解決方案1:在for循環(huán)中迭代數(shù)組,如果當前元素是ABC,DEF則下一個是,GHI然后將其添加到結(jié)果中。
<?php
$input = [
'ABC', //
'DEF', //
'GHI', //
'ABC',
'DEF',
'ABC', //
'DEF', //
'GHI', //
'ABC',
'GHI',
'DEF',
];
// 1
$result = [];
for($i=0;$i<count($input)-2;$i++) {
if ($input[$i] === 'ABC' && $input[$i+1] === 'DEF' && $input[$i+2] === 'GHI') {
$result[] = $input[$i];
$result[] = $input[$i+1];
$result[] = $input[$i+2];
}
}
var_dump($result);
ABCDEFGHI解決方案 2 是一個額外的好處 - 不同的方法:將此數(shù)組加載到一個長字符串中,搜索在該字符串中可以找到多少次。多次重復(fù)此字符串并將其以 3 個字符塊的形式加載回數(shù)組:
// 2
$result = str_split(str_repeat('ABCDEFGHI', substr_count(implode('', $input), 'ABCDEFGHI')), 3);
var_dump($result);
輸出:
array(6) {
[0]=>
string(3) "ABC"
[1]=>
string(3) "DEF"
[2]=>
string(3) "GHI"
[3]=>
string(3) "ABC"
[4]=>
string(3) "DEF"
[5]=>
string(3) "GHI"
}
array(6) {
[0]=>
string(3) "ABC"
[1]=>
string(3) "DEF"
[2]=>
string(3) "GHI"
[3]=>
string(3) "ABC"
[4]=>
string(3) "DEF"
[5]=>
string(3) "GHI"
}
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報