0

良い一日。

$arr から 3 つのキーを取得したいのですが、値 $arN[0] は他のキーよりも大きくなります...

コード:

$ar1=array(201,281);
$ar2=array(1252760,1359724);
$ar3=array(452760,34349724);
$ar4=array(1260,134344);
$ar5=array(232750,1359724);
$ar6=array(60,1439724);

$arr[]=array(6299927 => $ar1);
$arr[]=array(1252760 => $ar2);
$arr[]=array(3432444 => $ar3);
$arr[]=array(3435543 => $ar4);
$arr[]=array(7645466 => $ar5);
$arr[]=array(4574534 => $ar6);

配列 $a を降順にソートする次の関数:

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

$a = array(3, 2, 5, 6, 1);

usort($, "cmp");

foreach ($a as $key => $value) {
    echo "$key: $value\n";
}
outpoot: 0:6 1:5 2:4 3:2 4:1

しかし、私の例(私の大きな配列)のためにこの関数をどのように変更しますか?

これを作る方法を教えてください。

どのように正しく書くのですか?

4

3 に答える 3

0

非常に紛らわしいですが、このようなものを探していると思います。最初の項目が次の配列の最初の項目よりも大きい配列のインデックスが得られます。

foreach($arr as $key => $array) {
    if($array[0] > $arr[$key+1][0]) {
       echo $key;
    }
}
于 2013-06-29T01:57:57.410 に答える
0
$ans_array= array();

            // for shuffle array without repeat
            for($q=0;$q<count($arr);$q++)
            {
                $n = rand(0,count($arr));
                if($ans_array[$n] == NULL || $ans_array[$n] == '')
                {   
                     $ans_array[$n] = $arr[$q];
                }
                else
                {     if($q==0) $q=0;
                      else $q = $q-1;
                }
            }
于 2016-10-20T09:31:36.023 に答える