Php Laravel 比较 2 个数组值
Php Laravel Comparing 2 Array Values
是否可以比较两个数组值?
说:
Array 1> Array 2>
Values: Values:
2 11
36 13
65 11
78 1
代码示例:
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);
您可以像这样简单地做一些事情:
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;
}
主要原因是我们无法从您的 post 得知数组的大小是否始终相同,因此您必须比较它们以获得两者中较大的一个,然后将其用于循环。之后就是简单的比较了。
是的,可以使用如下简单的 for 循环:
for($i = 0; $i < count($array1); $i++){
if($array1[$i] >= $array2[$i]){
echo "Available"
}else{
echo "Not available";
}
}
注意 这里两个数组的大小必须相同。
如果 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_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>';
?>
对于更复杂的逻辑,您也可以自定义函数内部的逻辑。您可以根据需要添加任意数量的数组。希望大家理解。
是否可以比较两个数组值?
说:
Array 1> Array 2>
Values: Values:
2 11
36 13
65 11
78 1
代码示例:
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);
您可以像这样简单地做一些事情:
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;
}
主要原因是我们无法从您的 post 得知数组的大小是否始终相同,因此您必须比较它们以获得两者中较大的一个,然后将其用于循环。之后就是简单的比较了。
是的,可以使用如下简单的 for 循环:
for($i = 0; $i < count($array1); $i++){
if($array1[$i] >= $array2[$i]){
echo "Available"
}else{
echo "Not available";
}
}
注意 这里两个数组的大小必须相同。
如果 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_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>';
?>
对于更复杂的逻辑,您也可以自定义函数内部的逻辑。您可以根据需要添加任意数量的数组。希望大家理解。