获取具有最小标记 php 的行

Get row with minimum mark php

我有一个 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);

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

既然 PHP 已经有了您需要的东西,为什么还要使用这么长的代码?
使用这个单线。
紧凑(短)、快速(因为我们首先收集了列)、原生(它是内置的):

$marks = array_column($array, 'mark'); // return "mark"s as array keeping keys of $array
$minimal_mark = min($marks); // gets minimal value
$minimal_mark_key = array_search($minimal_mark, marks); // searches for $minimal_mark value in $marks and returns array key
$minimal_mark_row = $array[$minimal_mark_key]; // gets element from array by key
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);

试试这个:

$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);