Trier le tableau PHP par élément dans la boucle foreach
P粉567281015
P粉567281015 2024-03-31 10:17:19
0
2
322

J'utilise PHP pour accéder à certaines données contenues dans un fichier texte. Voici un exemple de fichier texte (monfichier.txt) - chaque ligne comporte trois champs, séparés par || :

4e84||some text||category A  
f17b||words words||category B  
f7ac||some more text here||category B  
8683||text text||category C  
b010||more text||category A  
fcc4||more text||category B  
we47||more text||category C  
08ml||more text||category A

C'est le code PHP que j'utilise pour afficher le contenu d'un fichier txt dans un simple tableau HTML. J'accède au fichier et parcourt chaque ligne pour extraire les trois parties :

<?php
$lines = file("myfile.txt");
?>
<table>
 <thead>
  <tr>
   <th>ID</th>
   <th>TEXT</th>
   <th>CATEGORY</th>
  </tr>
 </thead>
 <tbody>
<?php
foreach ($lines as $line) {
list($id,$text,$category) = explode('||', $line);
echo '<tr>';
echo '<td>'.$id.'</td>';
echo '<td>'.$text.'</td>';
echo '<td>'.$category.'</td>';
echo '</tr>';
}
?>
 </tbody>
</table>

Je dois trier les lignes en fonction du troisième champ (catégorie) afin que les entrées des catégories A, B, C soient affichées.

J'ai essayé d'utiliser la commande sort() dans une boucle foreach mais sans succès. Des idées?

P粉567281015
P粉567281015

répondre à tous(2)
P粉373596828

Vous pouvez utiliser la méthode suivante :

$split_lines = [];

// first - split lines and put them into array
foreach ($lines as $line) {
    $split_lines[] = explode('||', $line);
}

// sort array by function
usort($split_lines, fn($a,$b)=>$a[2]$b[2]);
    
// show array as table
foreach ($split_lines as $line) {
    echo '';
    echo ''.$line[0].'';
    echo ''.$line[1].'';
    echo ''.$line[2].'';
    echo '' . PHP_EOL;
}

Exécutez PHP en ligne

P粉897881626

Vous pouvez l'implémenter en utilisant seulement deux boucles for.


'; echo ''; echo ''; echo ''; echo ''; } ?>
ID TEXT CATEGORY
'.$id.''.$text.''.$category.'
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!