2017-11-30 19 views
-1

別の列の値がグループ化されている2次元配列の最小値を取得しようとしています。PHPの最小値を列の値に応じて配列

array(3) { 
    [0]=> 
    array(3) { 
    ["cid"]=> 
    int(53) 
    ["cpr"]=> 
    int(243) 
    ["cty"]=> 
    string(1) "1" 
    } 
    [1]=> 
    array(3) { 
    ["cid"]=> 
    int(55) 
    ["cpr"]=> 
    float(270) 
    ["cty"]=> 
    string(1) "1" 
    } 
    [2]=> 
    array(3) { 
    ["cid"]=> 
    int(54) 
    ["cpr"]=> 
    float(367.65) 
    ["cty"]=> 
    string(1) "2" 
    } 
} 

は私がどこcty=1その後、cty=2 ....

+1

1つの配列が別の配列よりも小さいかどうかを正確に判断するために使用する値はどれですか? 'cpr'? 'cid'?各配列のすべての値?また、別々の 'cty'値ごとに1つの配列(「最小」の配列)を取得したいですか? – salathe

+0

OPは、それぞれの 'cty'に対して最小' cpr'、各 'cty'に対して最小' cid'などを望んでいると思います。特定の出力形式は必要ないので、あなたが言及している*最小配列* –

+1

申し訳ありませんが、それを明確にする 私は同じctyを持つ細胞から最小cprを欲しい –

答えて

-1

あなたは、アレイ

+0

訂正のための@InzeNLありがとう、私は鋼鉄に英語といくつかの問題がある – Ciro

+0

なぜdownvote?それは良い答えではありませんか? – Ciro

+0

これは質問に対する答えではありません。 OPは同じ 'cty'値を持つサブアレイの各フィールドの最小値を求めています。入力配列を並べ替えるだけで、これはOPの質問とは関係ありません。 –

0

試してみること$arrayPHP's uasort

function cmp($a, $b) { 
    $a = intval($a['cty']); 
    $b = intval($b['cty']); 

    if ($a == $b) { 
     return 0; 
    } 
    return ($a < $b) ? -1 : 1; 
} 

uasort($array, 'cmp'); 
echo $array[0]['cty']; 

を使用することになり、すべての分を取得するために、たとえばたいこのコードは入力配列でテストされました

$arr = array(array(
    "cid"=>'', 
    "cpr"=>'', 
    "cty"=>"1" 
), 
    array(
    "cid"=>'', 
    "cpr"=>'', 
    "cty"=>"1" 
), 
    array(
    "cid"=>'', 
    "cpr"=>367.65, 
    "cty"=> "2" 
)); 
echo "<pre>"; 
print_r($arr[array_search(min(array_column($arr, 'cty')),array_column($arr, 'cty'))]); 
0

申し訳ありません、申し訳ありませんが、同じctyのセルから最小のcprが必要です。 たとえば、cty = 1、cty = 2のすべてのレコードに対して最小cprを取得する必要があります....