comment afficher les valeurs de l'objet stdclass uniquement si elles sont présentes dans un autre tableau [fermé]

StackOverflow https://stackoverflow.com//questions/12669764

  •  12-12-2019
  •  | 
  •  

Question

J'ai un tableau :-

$headers=array(
                        'a',
                        'b',
                        'c',
                    );

et dire un objet que j'ai obtenu de la base de données :-

$sql = 'Select * from my_table';
$views = $DB->get_records_sql($sql);

Maintenant, mon objectif est d'afficher les en-têtes dans le tableau et d'afficher les valeurs dans le tableau uniquement si la clé du champ dans $view in following correspond à $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>';

J'ai essayé d'utiliser $key à la place de $value et d'utiliser la méthode in_array() pour vérifier si la clé de ce champ de view view existe dans $header, mais même cela me donne la valeur plutôt que le nom du champ.Existe-t-il un moyen de vérifier si le nom du champ existe dans le tableau, j'imprime la valeur, sinon je ne le fais pas.

Était-ce utile?

La solution

Que diriez-vous de ce qui suit

foreach($view as $column => $value){
    if(in_array($column, $headers)){
        echo '<td>' . $value . '</td>';
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top