Php 如何仅当stdclass对象的值存在于另一个数组中时才显示它们

Php 如何仅当stdclass对象的值存在于另一个数组中时才显示它们,php,field,key-value,stdclass,Php,Field,Key Value,Stdclass,我有一个数组:- $headers=array( 'a', 'b', 'c', ); 然后说我从数据库中得到的一个对象:- $sql = 'Select * from my_table'; $views = $DB->get_records_sql($sql); 现在,我的目标是在表中显示标题,并且仅当下

我有一个数组:-

$headers=array(
                        'a',
                        'b',
                        'c',
                    );
然后说我从数据库中得到的一个对象:-

$sql = 'Select * from my_table';
$views = $DB->get_records_sql($sql);
现在,我的目标是在表中显示标题,并且仅当下面的$view中的字段的键与$header匹配时,才显示表中的值

    echo '<table border="1">';
    echo '<thead>';
    echo '<tr>';
    foreach($headers as $header){
        echo '<th>';
        echo $header;
        echo '</th>';
    }
    echo '</tr>';
    echo '</thead>';
    echo '<tbody>';

    foreach ($views as $view){
        echo '<tr>';
        foreach($view as $column=>$value){
            echo '<td>';
            echo $value;
            echo '</td>';
        }
        echo '</tr>';
    }

echo '</table>';
echo';
回声';
回声';
foreach($headers作为$header){
回声';
echo$header;
回声';
}
回声';
回声';
回声';
foreach($view作为$view查看){
回声';
foreach($column=>$value的视图){
回声';
echo美元价值;
回声';
}
回声';
}
回声';

我尝试使用$key代替$value,并使用in_array()方法检查$view字段的键是否存在于$header中,但即使这样,也会给出值而不是字段的名称。是否有任何方法可以检查数组中是否存在字段名,我打印出值,否则我不打印。

以下内容如何

foreach($view as $column => $value){
    if(in_array($column, $headers)){
        echo '<td>' . $value . '</td>';
    }
}
foreach($view as$column=>$value){
if(在数组中($column$headers)){
回显“.$value.”;
}
}

请仅使用数组变量中的一些示例数据来隔离您的问题,稍后添加数据库交互和HTML输出。那你应该更快地找到解决办法。我以后会记住的。非常感谢。