比较PHP中的两个数组

比较PHP中的两个数组,php,arrays,Php,Arrays,我正试着为我的工作建立一个结果页面,但我有点被困在了a.t.m 我有2个阵列,需要对它们进行比较: $dienstarray[] = $compdiensten['dienst']; $userdienstarray[] = $userdiensten['dienst_id']; 结果如下: $dienstary: Array ( [0] => 8 [1] => 9 [2] => 11 [3] => 12 [4] => 13 [5] => 22 [6] =&

我正试着为我的工作建立一个结果页面,但我有点被困在了a.t.m

我有2个阵列,需要对它们进行比较:

$dienstarray[] = $compdiensten['dienst'];
$userdienstarray[] = $userdiensten['dienst_id'];
结果如下:

$dienstary:

Array ( [0] => 8 [1] => 9 [2] => 11 [3] => 12 [4] => 13 [5] => 22 [6] => 23 [7] => 24 [8] => 26 [9] => 27 [10] => 7 [11] => 25 )
Array ( [0] => 7 [1] => 8 [2] => 9 )
$userdienstarray:

Array ( [0] => 8 [1] => 9 [2] => 11 [3] => 12 [4] => 13 [5] => 22 [6] => 23 [7] => 24 [8] => 26 [9] => 27 [10] => 7 [11] => 25 )
Array ( [0] => 7 [1] => 8 [2] => 9 )
$dienstarray需要与$userdienstarray进行比较,当一个数字匹配时,输出为V,当它不匹配时,输出必须为X

所以在这个例子中:

8需要与$userdienstarray进行比较,在本例中为true,因此返回V

9需要与$userdienstarray进行比较,在本例中为true,因此返回V

11需要与$userdienstarray进行比较,在本例中为false,因此返回X

等等

我希望你能理解我的问题,如果没有请提问

提前谢谢

您可以使用

  <?php
    $result = array_intersect($dienstarray, $userdienstarray);
    if(count($result) > 0 )
    echo 'V';
    else
    echo 'X';
    ?>

您的意思是,如果$userdienstarray包含$dienstarray中存在的值,则为X? 也许:

这应该行得通

$dienstarray[] = $compdiensten['dienst'];
$userdienstarray[] = $userdiensten['dienst_id'];
$result = 'X';
foreach ($dienstarray as $value) {
     if (in_array($value,$userdienstarray) {
         $result = 'V';
     }
}
echo $result;

我会尽量解释得更清楚一点:

我们有多家公司,每家公司都有自己的用户。 在数据库中,我们有comp_diensten和user_diensten表 在comp_diensten表中,我们提供了允许公司使用的服务。 在user_diensten表中,我们有公司用户正在使用的服务

这是我的代码:


奥维齐赫特酒店



@moffeltje:FYI,这就是向下投票按钮的作用,@Jean-FrançoisCorbett轻松,只是想帮助OP提出一个更好的问题。当然,但它们并不相互排斥。它们都有一个用途,我不能添加这个函数,因为我需要已经在foreach循环中的输出。无法重新声明ComparArrays的PHP错误。该错误意味着您已经有一个同名函数。您只需要更改名称。如果两个数组中都有数字匹配,则返回V else Xyes,但$dienstarray中的数字需要分别与$userdienstarray进行比较,我更新了我的帖子并添加了一个答案,以使我的问题更清楚。更新了我的答案尝试使用单独匹配部分