【发布时间】:2019-09-19 19:28:36
【问题描述】:
我在 PHP 中从数组中获取我想要的值时遇到问题
看看我的数组
array(
"0"=>array("id"=>"255","price"=>"2","discount"=>"1"),
"1"=>array("id"=>"256","price"=>"2","discount"=>"3"),
"2"=>array("id"=>"257","price"=>"2","discount"=>"4"),
"3"=>array("id"=>"255","price"=>"3","discount"=>"5")
);
我需要Min Price和Max Discount,这次我需要数组ID 2,也就是
"2"=>array("id"=>"257","price"=>"2","discount"=>"4"),
因为在这个数组中价格低于 2,折扣为 4,在下一条记录中你可以看到折扣高得多,即 5,但价格为 3,高于 2,因此所需的结果是子数组 id 2
请告诉我我该怎么做?
【问题讨论】:
-
如果您按价格升序和折扣降序对数组进行排序,则结果数组将按照您之后的顺序(即
array_multisort(array_column($data, "price"), SORT_ASC, array_column($data, "discount"), SORT_DESC, $data );)。然后将该数组的元素[0]用于您之后的项目。 -
另外,如果这是 SQL 查询的结果 - 您可以添加类似于上述排序的 ORDER BY 子句,它应该会给您相同的结果(但没有 SQL 就很难知道)跨度>