获取for循环中不存在的数字

时间:2018-04-11 06:32:04

标签: php for-loop

我有2个整数。

$a = 5;
$b = 3;

这是我现在的代码,我想反过来做,这是获取不存在的整数。 而不是获得1,2,3的现有数字。我想对不存在的数字执行命令(4& 5)。

for ($x = 1; $x <= $a; $x++) {
    for ($y = 1; $y <= $b; $y++) {
        if ($x == $y)
        {
            echo $y." = Exist Do some commands here<br>";
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您可以使用以下解决方案:

<?php
$a = 3;
$b = 5;

$arrNotExists = [];

for ($i = $a + 1; $i <= $b; $i++) {
    $arrNotExists[] = $i;
}

var_dump($arrNotExists);
  

演示: https://ideone.com/bOSsH8

使用两个带array_diff的数组的另一种解决方案:

<?php
$a = 3;
$b = 5;

$arrA = [];
$arrB = [];

for ($i = 1; $i <= $a; $i++) {
    $arrA[] = $i;
}

for ($i = 1; $i <= $b; $i++) {
    $arrB[] = $i;
}

$arrNotExists = array_diff($arrB, $arrA);

var_dump($arrNotExists);
  

演示: https://ideone.com/OtSwnN

答案 1 :(得分:0)

根据上述问题中提到的描述作为解决方案,请尝试执行以下代码片段

$a = 5;
$b = 3;
$temp=array();
$result=array();
for ($x = 1; $x <= $a; $x++) {
    for ($y = 1; $y <= $b; $y++) {
         $temp[]=$y;

    }
 if(in_array($x,$temp)==false)
        {
           $result[]=$x;
        }
}

另请尝试执行另一种替代解决方案

$a1 = range(1, $a);
$a2 = range(1, $b);
$result = array_diff($a1, $a2);