Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction Natcasesort pour gérer les demandes de tri entrées par l'utilisateur? Partage de cas pratique

Comment utiliser la fonction Natcasesort pour gérer les demandes de tri entrées par l'utilisateur? Partage de cas pratique

gitbox 2025-09-24
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Exemple de code pré-indépendant</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">debug_log</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$message</span></span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"[DEBUG] "</span></span><span> . </span><span><span class="hljs-variable">$message</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
}

</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">debug_log</span></span><span>(</span><span><span class="hljs-string">"Script started at <span class="hljs-subst">$timestamp</span></span></span><span>");

</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Démarrer le texte</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>Comment utiliser natcasesort Les fonctions gérent les demandes de tri entrées par l&#39;utilisateur?Partage de cas pratique</h1>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>exister PHP milieu,Lorsque nous voulons trier la liste fournie par l&#39;utilisateur,Régulier <code>sort()
"; Echo "

Exécuter le résultat:

"
; Echo "

Array
(
    [2] => IMG1.png
    [1] => img2.png
    [0] => img10.png
)
"
;
écho "

On peut voir que les tableaux sont triés par ordre naturel et que les différences de cas sont ignorées.

"
; écho "

Tri avec l'entrée utilisateur

"
; écho "

Supposons que nous ayons un formulaire qui permet à l'utilisateur de sélectionner le champ de tri ou l'ordre, et l'utilisateur entre un nom de fichier qui peut contenir différents cas:

"
; Echo "

\$userInput = ['fileB.txt', 'FileA.txt', 'fileC.txt'];
natcasesort(\$userInput);
print_r(\$userInput);
"
;
écho "

Résultat de sortie:

"
; Echo "

Array
(
    [1] => FileA.txt
    [0] => fileB.txt
    [2] => fileC.txt
)
"
;
écho "

On peut voir que le tri ignore la différence de cas d'entrée de l'utilisateur, garantissant que les résultats sont plus naturels.

"
; écho "

Cas pratiques: tri des produits

"
; écho "

Supposons que nous ayons un tableau d'articles, et l'utilisateur peut trier par nom:

"
; Echo "

\$products = ['Banana', 'apple', 'Orange', 'grape'];
// Sélection des utilisateurs trie dans l&#39;ordre naturel
natcasesort(\$products);
print_r(\$products);
"
;
écho "

Résultat de sortie:

"
; Echo "

Array
(
    [1] => apple
    [0] => Banana
    [3] => grape
    [2] => Orange
)
"
;
écho "

De cette façon, l'ordre de la liste de produits vus par les utilisateurs est conforme aux habitudes de lecture naturelles et n'est pas affectée par la partie supérieure et les minuscules.

"
; écho "

Précautions

"
; Echo "
  • Natcastort () gardera l'association de valeur clé du tableau. Si vous avez besoin de re-index, vous pouvez utiliser array_values ​​() .
  • Il convient aux scénarios où les tableaux de chaîne doivent être triés. Le tri naturel des tableaux numériques ne modifie pas l'ordre des nombres.
  • La fonction modifie directement le tableau et ne renvoie pas le nouveau tableau.
"
;
écho "

En résumé, NatCasesort () est un outil puissant pour gérer les demandes de tri des entrées des utilisateurs, en particulier adaptés aux noms de fichiers, aux noms de produits, etc. qui nécessitent un ordre naturel et ignorer le boîtier. Combinant les opérations d'entrée et de tableau de formulaire, les fonctions de tri de haute qualité peuvent être rapidement réalisées.

"
; ?> <?php // Exemple de code indépendant de la queue DEBUG_LOG ( "Script terminé à" . Date ( "YMD H: I: S" )); ?>