如何通过其中一个字段对这个对象数组进行排序,比如name或count?
Array
(
[0] => stdClass Object
(
[ID] => 1
[name] => Mary Jane
[count] => 420
)
[1] => stdClass Object
(
[ID] => 2
[name] => Johnny
[count] => 234
)
[2] => stdClass Object
(
[ID] => 3
[name] => Kathy
[count] => 4354
)
....
Run Code Online (Sandbox Code Playgroud) 当数组中元素的顺序不重要或甚至可能发生变化时,断言两个对象数组相等的好方法是什么?
想象一下,我们有一个查询:
SELECT * FROM somewhere WHERE `id` IN(1,5,18,25) ORDER BY `name`;
Run Code Online (Sandbox Code Playgroud)
以及要获取的ID数组: $ids = array(1,5,18,25)
准备好的陈述,建议准备一个陈述并多次调用:
$stmt = $mysqli->prepare('SELECT * FROM somewhere WHERE `id`=?;');
foreach ($ids as $id){
$stmt->bind_params('i', $id);
$stmt->exec();
}
Run Code Online (Sandbox Code Playgroud)
但现在我必须手动对结果进行排序.我有什么好的选择吗?
我有一个列表表,每个列表都有一个名为'top'的列.基本上,如果top不为null,我希望首先显示该列表,然后显示其他列表.
现在,我的代码是这样的:
foreach ($results as $result):
echo $result->name;
endforeach;
Run Code Online (Sandbox Code Playgroud)
这将向我显示所有内容,但我希望首先显示"top"不为null的行.最好的方法是什么?