0

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

例如,我有数组

$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 回答