我有一个多维数组,如下所示:
array:3 [
0 => array:2 [
"titre" => "Un package test"
"nbDDL" => "3"
]
1 => array:2 [
"titre" => "retest"
"nbDDL" => "1"
]
2 => array:2 [
"titre" => "ytjrtj"
"nbDDL" => "1"
]
]
我想用nbDDL
按ASC
或DESC
顺序(取决于函数参数中传递的变量)对它进行排序。
我看了方法array_multisort()
,但我不能把它放在适当的位置。
我在Symfony 3下工作。目前,我有:
if($ordreTri == "ASC")
{
$liste = array_multisort("nbDDL", ASC);
}
谢谢你的帮助!
4条答案
按热度按时间bf1o4zei1#
有几种不同的方法可以实现这一点--你可以通过使用
usort()
和飞船操作符<=>
来引入你自己的自定义排序,但是你也可以使用array_multisort()
,你只需要把它和array_column()
结合起来。你可以通过首先读取所有的
nbDDL
来对数组进行排序。然后将其用作array_multisort()
中的排序数组,并按升序排序(SORT_ASC
)。将其应用于$array
,就大功告成了!array_multisort()
的返回值是一个布尔值,这意味着如果将其赋值为那么
$result
不是真就是假,但不是排序数组。array_multisort()
vxf3dgd42#
您可以尝试如下:
hof1towb3#
您可以按照以下方式进行操作:
使用如下函数:
x3naxklr4#
通常,你可以使用array_multisort来对数组进行排序,但是奇怪的是,在php7.4中它返回boolean(true或false),而不是像php5中那样返回sorted array。我的意思是,我们真正需要的是一个sorted array,而不是布尔值。