如何比较PHP中的两个数组,找出两者中哪个数组的元素多于另一个?
例如,我有数组
$a = array(2,3,4);
$b = array(1,2,3,4,5,6,7);
我如何能够动态返回the array $b
,因为它有更多元素?在PHP中有内置函数吗?
答案 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';