如何找出2个阵列中哪个有更多元素?

时间:2013-03-20 19:15:32

标签: php arrays

如何比较PHP中的两个数组,找出两者中哪个数组的元素多于另一个?

例如,我有数组

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

我如何能够动态返回the array $b,因为它有更多元素?在PHP中有内置函数吗?

4 个答案:

答案 0 :(得分:4)

回答问题“我将如何能够动态返回...”而不是“我将如何展示...”,就像其他答案一样......

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

如果你想要一个功能

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

$c=largestArray($a, $b);

答案 1 :(得分: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)

答案 2 :(得分: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 );

答案 3 :(得分:0)

echo '$a size is '.count ($a).'<br>';
echo '$b size is '.count ($b).'<br>';

OR

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';