Je construis un autochargeur qui étend l'inclusion_path. Il faut un tableau, ajoute l'explosion () d Inclure Chemin, supprime toutes les références au répertoire actuel, ajoute un seul répertoire actuel au début de la matrice et rejoindre enfin () le total de nouveau pour former un nouveau chemin inclus . Le code est répertorié ci-dessous
<?php static public function extendIncludePath (array $paths) { // Build a list of the current and new paths $pathList = array_merge (explode (PATH_SEPARATOR, $paths), explode (PATH_SEPARATOR, get_include_path ())); // Remove any references to the current directory from the path list while ($key = array_search ('.', $pathList)) { unset ($pathList [$key]); } // Put a current directory reference to the front of the path array_unshift ($pathList, '.'); // Generate the new path list $newPath = implode (PATH_SEPARATOR, $pathList); if ($oldPath = set_include_path ($newPath)) { self::$oldPaths [] = $oldPath; } return ($oldPath); } ?>
3 Réponses :
ne pas utiliser array_unique () directement; Mais Array_unique préserve les clés, vous pouvez donc faire un ksort () ensuite pour recréer l'ordre original des entrées p>
quelque chose comme:
Heads-up: il y a une fonction pour cette boucle [efficacement; Si vous ne vous souciez pas de la valeur étant 1 code>].
array_flip () code>. :)
Oh, je suis tombé à PHP Règle n ° 0: Il y a toujours une fonction PHP que vous n'avez jamais entendu parler de :)
Bahaha. : D * chante une chanson sur les fonctions PHP qui se cachent dans l'attente de l'embuscade le problème sans méfiance, priant pour un passage sûr! *
Vous pouvez également utiliser Array_Count_Value. Vous obtiendrez votre résultat unique de la matrice à la clé de votre résultat de la fonction p>
Son ne casse pas le contenu de votre réseau de tri. P>
Référence: http://php.net/manual/fr/ Fonction.Array-Nombre-Values.php P>
OOH, approche créative! QuickRef pour le curieux: $ unique = array_keys (array_count_values ($ source)); code>
Sorte de contournement de votre demande: est
$ array = array_flip (array_flip ($ array)) code> une option pour vous? (
Array_flip Code> Swaps Valeurs avec les touches et les clés sont toujours uniques, un double
array_flip code> fait les valeurs de votre tableau unique.)