Php 如何比较foreach数组中的键
我和拉威尔一起工作。今天,我尝试比较数组索引中的键。我的数组如下所示:Php 如何比较foreach数组中的键,php,arrays,laravel,Php,Arrays,Laravel,我和拉威尔一起工作。今天,我尝试比较数组索引中的键。我的数组如下所示: Array ( [0] => stdClass Object ( [user_id] => 17 [count] => 5.5 ) [1] => stdClass Object ( [user_id] => 6 [count] =>
Array
(
[0] => stdClass Object
(
[user_id] => 17
[count] => 5.5
)
[1] => stdClass Object
(
[user_id] => 6
[count] => 5.5
)
[2] => stdClass Object
(
[user_id] => 30
[count] => 5.0
)
)
我已经使用了foreach语法:
$index=0;
foreach($data as $key) {
$i = index++;
if($key[$index]->count == $key[$i++]->count) { // or $key->{$index}->count == $key->{$index++}->count
echo 'done';
}
$index++;
}
但我得到了一个错误:不能将stdClass类型的对象用作数组
。我能做什么,任何人?$key
是
stdClass Object
(
[user_id] => 17
[count] => 5.5
)
您不能执行$key[$index]
您似乎不需要$index
;如果你这样做了,你会想要:
foreach ($data as $index => $object)
$key
是
stdClass Object
(
[user_id] => 17
[count] => 5.5
)
您不能执行$key[$index]
您似乎不需要$index
;如果你这样做了,你会想要:
foreach ($data as $index => $object)
试一试
试一试
我知道在这种情况下我不能做
$key[$index]
。但我想比较一下,这是个问题@糟糕,你需要索引。你应该使用foreach
的底部表单,就像cresjie所展示的那样。我知道在这种情况下我不能做$key[$index]
。但我想比较一下,这是个问题@糟糕,你需要索引。您应该使用foreach
的底部表单,如cresjie所示。您到底想要比较什么以及想要比较什么?我想为user@rohitawasthi进行排名您需要将每个计数与所有其他计数进行比较,然后创建排名?如果是这样,那么这个循环是错误的。对于您得到的错误,这是因为您使用的是$key[$index]->count
相反,您应该使用$key->count
这是@cresjie解决的问题,显示您到底想要比较什么以及想要比较什么?我想为用户@rohitawasithi进行排名您需要将每个计数与所有其他计数进行比较,然后创建排名?如果是这样,那么这个循环是错误的。对于您得到的错误,这是因为您使用的是$key[$index]->count
,而您应该使用$key->count
,这是@cresjie show解决的问题