我想通过打破主数组来创建一个数组或多个数组,我的数组就像,
Array
(
[0] => string1
[1] => 1
[2] => 2
[3] => 3
[4] => 66
[5] => 34
[6] => string1
[7] => aww
[8] => brr
[9] => string3
[10] => xas
)
所以基本上通过值'string1'我想做一个新数组或第一个数组它只有这三个值(1,2,3)和string2和string3相同,所以每个数组都有它的值(三个)。请帮我建造这个。
提前谢谢你。
结果应该是:
string1 array:
<pre>Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 66
[5] => 34
)
string2 array:
<pre>Array
(
[1] => aww
[2] => brr
)
string3 array:
<pre>Array
(
[1] => xas
)
我想这会让你得到你想要的。
它假设旧数组中的第一个条目将是一个关键字!
$old = array('string1',1,2,3,66,34,'string2','aww','brr','string3','xas');
$new = array();
$keywords = array('string1', 'string2', 'string3');
$last_keyword = '';
foreach ($old as $o) {
if ( in_array($o, $keywords) ) {
$last_keyword = $o;
} else {
$new[$last_keyword][] = $o;
}
}
print_r($new);
它创建了一个像这样的新数组
Array
(
[string1] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 66
[4] => 34
)
[string2] => Array
(
[0] => aww
[1] => brr
)
[string3] => Array
(
[0] => xas
)
)
然而,我仍然认为最好回到原始数组创建的地方,并寻求修改该过程,而不是为它编写修复