创建使用多维数组共享值的新数组值
我有这样的多维数组:创建使用多维数组共享值的新数组值
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的每一个值是一样的,我想创建一个“富”是$键的新阵而阵列中的每个及其相应的“酒吧”的值(即:。
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),I made an example。
^没有工作 – JohnSchaum 2013-02-15 23:15:53
确实有效。你甚至懒得检查你的代码,而不是你说谎。我现在很后悔,甚至试图帮助你。 [Here](http://u8.8u.cz//crap/arraylooper1.php)就是它的证明。它使用了和我在这里发布的相同的代码。 – 2013-02-15 23:32:34
放松,我不撒谎,我用这个,它不起作用。双重和三重检查它。我尝试关闭下面一行之后的if语句,但这不起作用。我尝试关闭它后,下面两行,没有工作。我很感激帮助,但是我只为每个'foo'获得一个'bar'值。 – JohnSchaum 2013-02-16 00:06:17
你可以使用foreach使用一些逻辑:) – 2013-02-15 21:12:14
我是新来的... ^如? – JohnSchaum 2013-02-15 23:17:02