DEV Community

Cover image for ⚠️ [PHP] N'écrivez pas ce type de code en production ⚠️
Jimmy Klein
Jimmy Klein

Posted on

⚠️ [PHP] N'écrivez pas ce type de code en production ⚠️

Vous connaissez surement le callback hell en JS ?
Mais connaissez-vous le array_ hell en PHP ?

Voici ma solution de la partie 1 du jour 3 de l'Advent of Code 😄

Advent of code Jour 3

Mais cette complexité m'a fait réviser certaines fonctions 👇!

Le array_ hell

Tout d'abord, ce que j'appelle 🔥 array_ hell 🔥 :

Si on cumule des appels aux différentes méthodes array_, le sens de lecture se retrouve inversé par rapport au traitement réalisé.

➕ d'info dans mon article "Revue : Refactoring to collections"


On en profite pour réviser un peu

1/ array_count_values : retourne un tableau contenant les valeurs du tableau comme clés et leur fréquence comme valeurs.

array_count_values


2/ Savez-vous comment transformer un tableau à deux dimensions en transposant les colonnes en lignes et les lignes en colonnes ❓

Avec array_map en lui passant comme callback la valeur null et en utilisant comme deuxième argument le spread operator sur le tableau 🤩

array_map


3/ Un petit rappel sur les fonctions fléchées disponible depuis PHP 7.4 ❤️

Cela permet de définir de manière plus concises les fonctions anonymes.

arrow functions


4/ Et pour finir, la méthode strtr qui permet de remplacer des caractères dans une chaîne 🎆

strtr


Merci d'avoir lu, et restons en contact !

Si vous avez aimé cet article, partagez-le autour de vous 🙏

Vous pouvez aussi me retrouver sur Twitter

Si vous souhaitez recevoir des tips de ce genre directement dans votre boîte mail, inscrivez-vous à ma dev letter.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay