只显示不匹配的 PHP

Show only ones that do not match PHP

我正在尝试使用多个 foreach 和 if 语句来为我提供尚未匹配的人员列表。我有下面的代码,我能够成功地给我一个它匹配的人的列表。

我想做的是回显 $tenant_id foreach 中尚未在 $value2 foreach 中找到的每个 ID,我做错了什么吗?只会什么都不输出?

foreach($array_93 as $value) {
    $tenant_id = $value['id'];
    $limit = 0;
    foreach($obj->response->entries as $value2) {
        if($limit==1) break;
        if ($value2->{100} == 'true' && $value2->{114} == $tenant_id) 
            {echo $value['id']; // This should echo ID's that have not been found.}
            $limit++;
        }
    }
};

更新>>

在继续尝试并使它正常工作后,我已经达到了这一点,我可以使用它来显示哪些 ID 都是 'n' 之后的屏幕截图。第一个全是n所以这个没有匹配,我现在怎么才能只显示全n的ID?

foreach($array_93 as $value) {
echo '<b>'.$value['id'].'</b>';
echo '<br />';

foreach($obj->response->entries as $value2) {
    if (strpos($value2->{114}, $value['id']) === false) 
        {
        echo '<i>n</i>';
    } else {
        echo '<b>Y</b>';
    }  
}
echo '<br />';
};

使用具有 Y-found 状态的标志:

foreach($array_93 as $value) {
    $Yfound = false;

    foreach($obj->response->entries as $value2) {
        if (strpos($value2->{114}, $value['id']) !== false) {
            $Yfound = true;
        }
    }
    if(!$Yfound) {
        echo $value['id'] . ' has n`s only<br>';
    }
}

你好,你不应该马上回应:

foreach($array_93 as $value) {
//echo '<b>'.$value['id'].'</b>';
//echo '<br />';
//don't print yet

     $output = ""; //this to store your n and Y strings.
     $n = 0; //Here you store the number of times Y appears

    foreach($obj->response->entries as $value2) {
     if (strpos($value2->{114}, $value['id']) === false) 
     {
       $output .= '<i>n</i>';//concatenating

     } else {
       $output .= '<b>Y</b>';
       $n++;
     }  
   }

  //then test if there is a y and echo output.
  if($n == 0){
     echo '<b>'.$value['id'].'</b>';
     echo '<br />';
     echo $output;
     echo '<br />';
 }
};