Php Laravel比较2个数组值

Php Laravel比较2个数组值,php,arrays,laravel,laravel-5.4,Php,Arrays,Laravel,Laravel 5.4,是否可以比较两个数组值 说: 代码示例: If (Array1 >= Array2){ echo"Not Available"; } else { echo"Available"; } 预期结果: Array ("Not Available", "Available", "Available", "Available") 如果两个数组的长度相同,则可以使用for循环,如下所示: $temp =

是否可以比较两个数组值

说:

代码示例:

If (Array1 >= Array2){

    echo"Not Available";
    }
    else
    {
    echo"Available";
    }
预期结果:

Array ("Not Available",
       "Available",
       "Available",
       "Available")

如果两个数组的长度相同,则可以使用for循环,如下所示:

$temp = [];
for($i = 0; $i < count($array1);$i++){
    $temp[] = (($array1[$i] >= $array2[$i]) ? 'Not Available': 'Available');
}
print_r($temp);
$temp=[];
对于($i=0;$i=$array2[$i])?“不可用”:“可用”);
}
打印(临时);

你可以做一些简单的事情,比如:

function compareArrays(array $array1, array $array2): array
    {
        $itemCount = (count($array1) > count($array2)) ? $array1 : $array2;
        $returnArray = [];
        for($i = 0; $i < count($itemCount); $i++) {
            $returnArray[] = ($array1 >= $array2) ? 'Avalible' : 'Not Avalible';
        }
        return $returnArray;
    }
函数比较数组(数组$array1,数组$array2):数组
{
$itemCount=(count($array1)>count($array2))?$array1:$array2;
$returnArray=[];
对于($i=0;$i=$array2)-“可用”:“不可用”;
}
return$returnArray;
}

主要原因是我们从你的帖子中不知道数组是否总是相同的大小,所以你必须比较它们以得到两者中较大的一个,然后将其用于循环。然后就是简单的比较。

是的,可以使用下面的简单for循环:

for($i = 0; $i < count($array1); $i++){
  if($array1[$i] >= $array2[$i]){
    echo "Available"
  }else{
    echo "Not available";
  }
}
for($i=0;$i=$array2[$i]){
回音“可用”
}否则{
回声“不可用”;
}
}

注意此处两个数组的大小必须相同

如果array1和array2的大小始终相同,则解决方法很简单

$data = [];
foreach($array1 as $key => $value) {
    if (!isset($array2[$key])) { // for safety check for second array index bound
        break;
    }

    $data[] = $value >= $array2[$key] ? 'Not Available' : 'Available';
 }

return $data;

您可以像这样使用回调函数和
array\u map
函数

<?php 

function getResult($first, $second)
{
    return $first > $second ? 'Available' : 'Not Available';
}

$firstArray = [1,4,5,6];
$secondArray = [2,3,1,9];

$data = array_map('getResult', $firstArray, $secondArray);

echo '<pre>',print_r($data),'<pre>';

?>


您还可以自定义函数内部的逻辑,以获得更复杂的逻辑。您可以根据需要添加任意数量的阵列。我希望你能理解。

你能再解释一下吗?这里的
比较是什么意思?比较数组1[0]和数组2[0]的值,并给出不可用或可用的结果,依此类推。可能吗?订单重要吗?你说的“可用”或“不可用”是什么意思?这与Laravel有什么关系?您生成的
$itemCount
有点冗长(IMHO)-您可以使用
$itemCount=max(count($array1),count($array2))
<?php 

function getResult($first, $second)
{
    return $first > $second ? 'Available' : 'Not Available';
}

$firstArray = [1,4,5,6];
$secondArray = [2,3,1,9];

$data = array_map('getResult', $firstArray, $secondArray);

echo '<pre>',print_r($data),'<pre>';

?>