Par exemple, je dois écrire une fonction qui prend en paramètres un tableau de nombre, et qui me retourne un tableau contenant uniquement les nombres pairs.

Comment écrire cette fonction ?

Etape 1 : est-ce que ma fonction a besoin d'un nom?

            
              function getEvenNumbers()
              {
                  //...
              }
          
        
Ce que tu vois au dessus est le minimum requis pour qu'une fonction soit structurée correctement. Elle ne fait rien (pour l'instant), mais au moins elle ne provoquera pas d'erreur dans ton script.
Etape 2 : Est-ce que ma fonction a besoin de "valeurs exterieures" pour fonctionner ?
            
              function getEvenNumbers(array $numbers)
              {
                  //...
              }
          
        
Etape 3 : Est-ce que ma fonction a besoin de retourner quelque chose ?
            
              function getEvenNumbers(array $numbers): array
              {
                  $result = [];
                  return $result;
              }
          
        
Etape 4 : Que fait ma fonction ?

J'écris dans mon IDE sous forme de commentaire, ou sur un bout de papier, la logique algorithmique que devrait avoir ma fonction afin de satisfaire le besoin. (Ne pas hésiter à indenter, même sur papier !!)

            
              // Step 1 : Déclarer un tableau de "réception",
              // Step 2 : Parcourir le tableau passé en paramètre,
              // Step 3 : Tester si le nombre parcouru est un nombre pair,
              // Step 4 : Ajouter le nombre au tableau de réception le cas échéant,
              // Step 5 : Retourner le nouveau tableau.

              function getEvenNumbers(array $numbers): array
              {
                  // step 1
                  $result = [];
                  // step 2
                  for ($i = 0; $i < strlen($numbers); $i++) {
                      $num = $numbers[$i];
                      // step 3
                      if ($num % 2 === 0) {
                          // step 4
                          $result[] = $num;
                      }
                  }
                  // step 5
                  return $result;
              }
          
        
Etape 5 : Ma fonction est elle correctement structurée ?

Pour la mise en forme, je te laisse retourner sur la documentation : PSR-12: Extended Coding Style