0

PHPで2つの配列を比較し、2つの配列のどちらが他の配列よりも多くの要素を持っているかを見つけるにはどうすればよいですか?

たとえば、私は配列を持っています

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

the array $bより多くの要素があるので、どうすれば動的に戻ることができますか?それを行うPHPの組み込み関数はありますか?

4

4 に答える 4

4

他の回答が示すように「どのように表示するか..」ではなく、「どのように動的に戻ることができるか...」という質問に答えるには...

$c=count($a)>count($b)? $a:$b;

機能が必要な場合

function largestArray($a, $b){
    return count($a)>count($b)? $a:$b;
}

$c=largestArray($a, $b);
于 2013-03-20T19:17:29.527 に答える
1

あなたがreturn言ったので、私はこの操作が関数で行われると仮定しています:

<?php
// Create our comparison function
function compareArrays($array_1, $array_2) {
  return count($array_1) > count($array_2) ? $array_1 : $array_2;
}

// Define the arrays we wish to compare
$a = array(2,3,4);
$b = array(1,2,3,4,5,6,7);

// Call our function, returning the larger array.
$larger_array = compareArrays($a, $b);

// Print the array, so we can see if logic is correct.
print_r($larger_array); // Prints: array(1,2,3,4,5,6,7)
于 2013-03-20T19:18:01.623 に答える
1

Stevenが残したコメントを拡張するには、このcount関数を使用して配列の長さを決定できます。次に、三項演算子を使用して、どちらが大きいかを選択します。

<?php

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

var_dump( (count($a) > count($b)) ? $a : $b );
于 2013-03-20T19:21:56.100 に答える
0
echo '$a size is '.count ($a).'<br>';
echo '$b size is '.count ($b).'<br>';

また

if (count($a)==count($b)) 
    echo '$a is same size as $b'; 
else
    echo count($a)>count($b) ? '$a is bigger then $b' : '$b is bigger then $a';
于 2013-03-20T19:17:46.600 に答える