[英]Create new array using values from multidimensional array sharing values
我有這個多維數組:
array {
[0]=>
array(2) {
[“foo”]=>
int(138)
[“bar”]=>
int(127)
}
[1]=>
array(2) {
[“foo”]=>
int(138)
[“bar”]=>
int(47)
}
[2]=>
array(2) {
[“foo”]=>
int(138)
[“bar”]=>
int(13)
}
[3]=>
array(2) {
[“foo”]=>
int(138)
[“bar”]=>
int(56)
}
[4]=>
array(2) {
[“foo”]=>
int(154)
[“bar”]=>
int(77)
}
[5]=>
array(2) {
[“foo”]=>
int(154)
[“bar”]=>
int(69)
}
[6]=>
array(2) {
[“foo”]=>
int(154)
[“bar”]=>
int(70)
}
[7]=>
array(2) {
[“foo”]=>
int(154)
[“bar”]=>
int(75)
對於相同的foo的每個值,我想創建一個新數組,其中'foo'是$ key以及該數組中每個對應的'bar'值(即:
array[138] {
127
47
13
56
}
任何幫助都是極好的。 謝謝。
好吧,這只是遍歷數組。 我真的不知道問題出在哪里。
$new =array();
for($i=0; $i<count($array); $i++) {
if(!isset($new[$array[$i]["foo"]])) //Check for existence of "foo" stack
$new[$array[$i]["foo"]] = array(); //Create new array, where "bar"s will be put in
$new[$array[$i]["foo"]][] = $array[$i]["bar"]; //Put "bar" in corresponding "foo" stack
}
在這種情況下,甚至可以避免使用foreach來使代碼示例易於更改。
因為OP指出代碼無效(這是lie ), 所以我舉了一個例子 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.