Je souhaite supprimer des valeurs de moins de deux caractères d'un grand tableau contenant 9436065 valeurs de chaîne. J'EFFACÉS preg_grep()
en utilisant ce code:Comment puis-je supprimer rapidement une valeur de moins de deux caractères d'un grand tableau?
function delLess($array, $less)
{
return preg_grep('~\A[^qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM]{'.$less.',}\z~u', $array);
}
$words = array("ӯ","ӯро","ӯт","ғариб","афтода","даст", "ра");
echo "<pre>";
print_r(delLess($words,2));
echo "</pre>";
Mais il fonctionne plus lentement. Est-il possible d'optimiser ce code?
Vous pouvez utiliser 'isset ($ word [1]) 'mais cela ne fonctionnera pas de manière fiable pour les chaînes multi-octets, par exemple ça enlèverait "pa". D'où obtenez-vous le tableau en premier lieu? Pouvez-vous déjà le filtrer à la source? – Gordon
Les réponses pourraient certainement aller mieux si nous avions plus d'informations sur l'utilisation et l'origine de ces chaînes. En nous limitant à ce que nous savons maintenant, je ne vois pas de raison de changer quoi que ce soit ... – Salketer