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>';
?>