1

asort()を使用して配列をソートし、返す要素の数を制限したいと考えています。

例を挙げましょう:

$words = array (
["lorem"]=>
int(2)
["sssss"]=>
int(2)
["dolor"]=>
int(4)
["ipsum"]=>
int(2)
["title"]=>
int(1) );

=limit = 2 を使用すると、見返りが得られます。

  $words = array (
    ["dolor"]=>
    int(4)    
    ["lorem"]=>
    int(2));

つまり、次の条件に基づいて最初に出現したものだけを並べ替えて返す必要があります。$limit

何か案が ?

4

2 に答える 2

9

array_sliceを使用できます

asort($words);
$result = array_slice($words, 0, $limit);
于 2012-11-21T11:22:34.133 に答える
2

asort()に制限を適用することはできませんが、これは回避策です。

<?php 
   $words = array("Cat", "Dog", "Donkey");
   $sorted = asort($words);
   $limit = 2;
   $final = array();
   for ($i = 0; $i <= ($limit - 1); $i++) {
       $final[] = $words[$i];
   }
   var_dump($final);
?>

お役に立てれば。

于 2012-11-21T11:26:44.410 に答える