如何比较 PHP 中的两个数组并找出这两个数组中哪个数组的元素比另一个多?
例如,我有数组
$a = array(2,3,4);
$b = array(1,2,3,4,5,6,7);
我如何能够动态返回the array $b
,因为它有更多元素?PHP中是否有一个内置函数可以做到这一点?
要回答“我如何能够动态返回......”而不是“我将如何展示......”的问题,就像其他答案显示......
$c=count($a)>count($b)? $a:$b;
如果你想要一个功能
function largestArray($a, $b){
return count($a)>count($b)? $a:$b;
}
$c=largestArray($a, $b);
你提到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)
要扩展 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 );
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';