我可以创建一个foreach并在PHP中基于相同的值组合两个数组以进行echo吗?

我可以创建一个foreach并在PHP中基于相同的值组合两个数组以进行echo吗?,php,arrays,foreach,Php,Arrays,Foreach,我挣扎在下面 我有两个来自数据库的查询结果。一个查询返回始终显示的数据,如一组始终显示的插槽(即1-9)。而另一个查询仅在存在时返回,如作业。当它处于活动状态时,它将获得分配的插槽id 注意:插槽中的作业数量并不总是相同的。插槽始终为1-3,总共为3个,但作业可以是1、2甚至5,插槽状态为0,单个插槽具有指定的插槽编号,如下所示为1 $ArrSlot = array( 'TABLE_NUMBER' => 1, 'TABLE_NUMBER' => 2, 'TABLE_NUMBER' =

我挣扎在下面

我有两个来自数据库的查询结果。一个查询返回始终显示的数据,如一组始终显示的插槽(即1-9)。而另一个查询仅在存在时返回,如作业。当它处于活动状态时,它将获得分配的插槽id

注意:插槽中的作业数量并不总是相同的。插槽始终为1-3,总共为3个,但作业可以是1、2甚至5,插槽状态为0,单个插槽具有指定的插槽编号,如下所示为1

$ArrSlot = array(
'TABLE_NUMBER' => 1,
'TABLE_NUMBER' => 2,
'TABLE_NUMBER' => 3); 

$ArrJob = array(
    'TABLE_NUMBER' => 0,
    'TABLE_NUMBER' => 0,
    'TABLE_NUMBER' => 0,
    'TABLE_NUMBER' => 1);
这里变得很棘手,我只想在
$ArrJob==$ArrSlot
时执行foreach并回显“X”

我不知道如何解决这个问题

我所做的是:

首先运行查询,然后执行foreach并从不在foreach内部的查询结果回显结果

<?php foreach($ArrSlot as $SlotList) {
if (trim($ArrJob["TABLE_NUMBER"]) == $SlotList["TABLE_NUMBER"]) 
{ echo trim($ArrJob["STATUS"]); 
} else 
{ echo "0";}
?>

我用了一个三元组,但没有成功。我可能做了一些非常简单的错误,很抱歉,伙计们这么做了好几个小时…

使用array\u intersect()。考虑…

$resultArr = array_intersect($ArrSlot,$ArrJob);
foreach($resultArr as $result)
{
  print_r($result);
}

你介意分享一下这些问题吗?我们可能可以在一个查询中完成这项工作。
foreach($ArrSlot as$key=>$SlotList){if(isset($ArrJob[$key])&&trim($ArrJob[$key])==$SlotList)…
假设“表号”作为不同的值。@ThomasLang谢谢,我通过查询解决了这个问题。干得好!最好再看看这个问题,这样可以避免混乱和不必要的代码:)