PROJET AUTOBLOG


Shaarli - le hollandais volant

Site original : Shaarli - le hollandais volant

⇐ retour index

Note

mardi 22 janvier 2019 à 17:26

Dans PHP, si vous avez un tableau associatif dont les clés sont numériques, certaines fonctions comme array_reverse() font réindexer le tableau une fois le reverse() effectué.

Si les clés sont une chaîne, elles sont conservées (le tableau est simplement inversé).

Donc si vous avez ça :

array(4 => "quatre", 8 => "huit");

Vous obtiendraient ça :

array(1 => "huit", 2 => "quatre");

Et non pas :

array(8 => "huit", 4 => "quatre");

Je me suis fait avoir : je voulais une clé unique pour un tableau. Pour ça, j’utilise parfois crc32(), une fonction de hashage relativement rapide.

Sauf que en PHP, crc32() retourne un entier. Mes index ont donc disparus après le reverse().
J’ai dû me rabattre sur md5() pour le hash unique.

J’aurais aussi pu prendre hash('crc32', $i), qui lui retourne une chaîne en hexa.

Fin bref, soyez vigilants.


— (permalink)