我想通过破坏主数组来构建数组或多个数组,我的数组就像是
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
)
答案 0 :(得分:2)
我想这会得到你想要的东西。
它确实假设旧数组中的第一个条目是关键字!
$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
)
)
但是我仍然坚持认为最好回到创建原始数组的位置,然后修改该进程而不是为它编写修正