以最小标记php获取行

时间:2015-09-08 08:47:27

标签: php arrays min

我有一个像下面这样的php数组,

$array = array(
array(
 'mark' => 10,
 'name' => 'name 1',
),

array(
 'mark' => 15,
 'name' => 'name 2',
),
-------------------
-----------------
);

我需要获得最小标记的行。

我可以像贝娄那样得到最低分,

$numbers = array_map(function($array) {
return $details['mark'];
 }, $array);
$min = min($numbers);

但我不知道如何获得整行。

3 个答案:

答案 0 :(得分:3)

uasort($array, function($a, $b) {
    if ($a['mark'] == $b['mark']) {
        return 0;
    }
    return ($a['mark'] < $b['mark']) ? -1 : 1;
});

$min = current($array);
$max = end($array);

答案 1 :(得分:0)

为什么在PHP已经拥有你需要的东西时使用如此长的代码呢? 使用这个单行。
紧凑(短),快(因为我们首先收集了列),本机(它是内置的):

class TestStuff(unittest.TestCase):
    def setUp(self):
        self.app_context = app.app_context()
        self.app_context.push()
        db.create_all() # TODO remove

    def tearDown(self):
        db.session.remove()
        db.drop_all() # TODO remove
        self.app_context.pop()

    def test_lookup(self):
        dostuff()

答案 2 :(得分:-2)

试试这个:

$array = array(

array(
 'mark' => 10,
 'name' => 'name 1',
),

array(
 'mark' => 15,
 'name' => 'name 2',
)
);

$numbers = array_map(function($array) {
return $array['mark'];
 }, $array);

$min = min($numbers);