私は配列を持っています:-
$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>';
$valueの代わりに$keyを使用し、in_array()メソッドを使用して、$viewのそのフィールドのキーが$headerに存在するかどうかを確認しようとしましたが、それでもフィールドの名前ではなく値が表示されます。フィールド名が配列に存在するかどうかを確認する方法はありますか?値を出力します。そうでない場合は出力しません。