Forums | Contact | Plan du site Menu Accueil » Création de site

Les fonctions utiles de PHP

Voici quelques fonctions qui vous aideront pour programmer en PHP.
Pour toute question, n'hésitez pas à utiliser les forums, nous vous répondrons au plus vite.

Les constantes : opérations principales sur les constantes, constantes prédéfinies de php.

Les variables : opérations principales sur les variables, portée d'une variable, notion de sous variable.

Les nombres : conversions de nombre, formatage de nombres, parité d'un nombre, nombre aléatoire.

Les chaînes de caractère : taille d'une chaine, concaténation, remplacement d'occurences, changement de casse, suppressions de caractères spéciaux (espaces, tags, antislash), découpage d'un texte en fonction de séparateurs, conversion d'un caractère en code ASCII, récupération de caractères d'une chaîne, recherche de la position d'une occurence dans un texte, inversion des caractères d'une chaine, compter le nombre d'occurences récurrentes dans une chaîne, ajout d'un retour à la ligne, répétition d'une chaîne.

Les tableaux : nombre d'éléments d'un tableau, tri d'un tableau, suppression de doublons dans un tableau, fusion de tableaux, inversion d'un tableau, transformation d'un tableau en chaîne, obtenir la plus petite ou la plus grande valeur d'un tableau, obtenir le premier / dernier élément d'un tableau, comparaison de tableaux.

A voir aussi : PHP et MySQL... les fonctions relatives à la base de données.


  Les constantes  

 

Opérations principales sur les constantes

Pour savoir si une constante est définie il suffit d'utiliser la fonction defined() : if (defined($variable)) {...}

On déclare une constante par fonction define() : define ("cc", "conseil & création").

Précision : php tient compte, comme pour les variables, de la casse des noms de constante. Il est cependant possible (uniquement pour les constantes) de paramétrer chaque constante pour que la casse ne soit pas prise en compte. Dans ce cas on écrit : define ("cc", "conseil & création",1).

Attention : comme son nom l'indique, une constante ne peut pas être modifiée.
- si on définit d'abord cc par : define ("cc", "conseil & création"),
- define ("cc", "conseil-creation.com") n'aura aucun effet


  Les variables  

 

Opérations principales sur les variables

Pour savoir si une variable est définie il suffit d'utiliser la fonction isset() : if (isset($variable)) {...}

La fonction unset() permet de détruire une variable existante afin de libérer de la mémoire.

On récupère le type d'une variable par la fonction gettype() : gettype($variable).


Portée d'une variable

Lorsque vous déclarez une variable dans une fonction, elle n'est définie que pour cette fonction. On dit de cette variable qu'elle est locale. Par contre, lorsqu'une variable est définie directement dans le corps du script, cette variable est dite globale :

<?
  $chaine1 = "bienvenue";
  function c&c() { $chaine="conseil & création"; }
?>
Dans ce script, $chaine1 est globale et chaine2 est locale.

Précision : il peut être intéressant de rendre statique une variable définie localement. En effet, non seulement une variable locale n'est pas utilisable en dehors de la fonction, mais elle n'est plus utilisable lors d'un appel ultérieur à cette même fonction. C'est pour remédier à ce problème que l'on rend un variable locale statique :
- au lieu d'écrire : $variable="...",
- on écrit : static $variable="...".


Notion de sous variable

Une variable commence toujours par le signe $ . Des sous variables sont parfois très utiles : par exemple, pour tester si dans une base de données $reponse1, $reponse2... $reponseN sont égales à 1, on peut utiliser cette boucle :

while($rec=mysql_fetch_array($query)){
  $n=$rec['id'];
  $var="reponse".$n;
  if ($$var=="1") {echo("<input type='hidden' name='reponse".$n."' value='1'>");}
}

 


  Les nombres  

 

Conversions

On convertit le type par la fonction settype() : settype ($nombre, integer);

Conversion binaire - décimal par les fonctions bindec() et decbin() :
- decbin(123) = 1011
- bindec(1011) = 123

Conversion hexadécimal - décimal par les fonctions hexdec() et dechex():
- dechex(123) = 20
- hexdec(20) = 123


Formatage

A l'aide de la fonction number_format() : number_format($nombre, 3);

Par exemple, si $nombre = 6,55957, la fonction renvoie 6,559


Parité d'un nombre

if ($nombre & 1) teste si $nombre est impair. Donc :
- if ($nombre & 1) {echo("impair")} else {echo("pair")}


Générer un nombre aléatoire

rand(min, max) génère un nombre entre min et max.

 


  Les chaînes  

 

Taille d'une chaine

La fonction strlen() permet de connaitre la taille d'une chaîne.


Concaténation

soient $chaine1 = "conseil & "; et $chaine2 = "creation";

Pour concaténer ces chaînes, on utilise simplement des points : $chaine1.$chaine2 donne conseil & création

Attention : on peut concaténer des chaînes dans une autre chaîne. Mais attention aux " et ' :
1 - on peut écrire $chaine3="bienvenue sur ".$chaine1.$chaine2,
2 - on peut écrire $chaine3="bienvenue sur $chaine1$chaine2",
3 - on peut écrire $chaine3='bienvenue sur '.$chaine1.$chaine2,
4 - mais on ne peut pas écrire $chaine3='bienvenue sur $chaine1$chaine2'.
Dès que l'on utilise des apostrophes, il faut donc obligatoirement utiliser les points.

Précision : si vous n'utilisez pas les points dans une chaîne avec guillemets (exemple 2) :
- il n'est pas possible d'écrire $chaine3="$chaine1creation"
- il faut donc utiliser les pooints: $chaine3=$chaine1."creation"
En effet, la variable n'est plus chaine1 mais chaine1creation


Remplacement d'une occurrence

On remplace une occurence par la fonction str_replace() :
- si $chaine="conseil & création";
- $chaine=str_replace("&", "et", $chaine);

Précisions :
- pour remplacer /n en <br>, il existe une fonction spécifique : nl2br(),
- strtr($chaine, "èëâ", "eea") remplacera les caractères accentués par leur équivalent non accentué.


Changement de la casse d'une chaine de caractères

En utilisant les fonctions srttolower(), strtoupper(), ucfirst() et ucwords() :
- si $chaine = "cOnsEil & cRréaTion";
- strtolower($chaine) met la chaîne en minuscules
- strtoupper($chaine) met la chaîne en majuscules
- ucfirst($chaine) met le premier caractère en majuscule
- ucwords($chaine) met le premier caractère de chaque mot en majuscule

Attention : pour avoir Conseil & création ou Conseil & Création il faut d'abord mettre la chaîne en minuscule :
- ucfirst(strtolower($chaine));
- ucwords(strtolower($chaine));


Suppression des espaces présents dans une chaîne

On peut supprimer les espaces :
- en début de chaîne par la fonction ltrim(),
- en fin de chaîne par la fonction rtrim(),
- en début et en fin de chaîne par la fonction trim()

Par exemple, avec la chaîne $chaine = " conseil & création " :
- ltrim($chaine) donne "conseil & création ",
- rtrim($chaine) donne " conseil & création",
- trim($chaine) donne "conseil & création".


Suppression des tags présents dans un chaine

Il suffit d'utiliser la fonction strip_tags().

Précision : il est possible de préciser les tags à préserver :
- soit $chaine = "<body><html><b><i>conseil & création</i></b></html></body>",
- $chaine= strip_tags($chaine,"<b>,<i>") donne "<b><i>conseil & création</i></b>",
- $chaine= strip_tags($chaine) donne "conseil & création".


Suppression des anti-slash ( \ ) dans une chaine

Quand des anti-slash sont ajoutés à une chaine (avant les guillemets, les apostrophes ...), on peut les supprimer facilement par la fonction stripslashes().


Découpage d'une chaine

La fonction explode() permet de couper une chaîne en fonction d'un séparateur défini.
- soit $chaine = "conseil & creation",
- $champs = explode (" & ", $chaine).

Attention : $champs contient les deux moitiés de la chaîne. Pour les récupérer, on utilise une boucle :
<?
  $boucle=0;
  while ($boucle < sizeof($champs)) {
    echo $chaine[$boucle];
    echo "n";
    $boucle++;
  }
?>
On obtient alors deux chaînes :
- $chaine0 = "conseil";
- $chaine1 = "creation";

Précision : voir la fonction implode() dans la rubrique tableaux pour transformer un tableau en chaîne.


Conversion : code ASCII d'un caractère

Conversion code ASCII - caractère par les fonctions ord() et chr() :
- ord(a) = 63
- chr(63) = a


Récupération de caractères d'une chaine

Affichage de caractère précis : dans la chaîne "conseil & création", & est le caractère 8 . Plus généralement, le premier caractère d'une chaîne est est le caractère 0 et le dernier est obtenu par la fonction strlen(), vue ci-dessus. Pour obtenir le caractère 8 avec php, il suffit d'utiliser : $chaine[8], qui retournera &

Pour ne conserver qu'une partie des caractères de "conseil & création", il suffit d'utiliser la fonction substr() :
- soit $chaine = "conseil & création",
- substr($chaine,0,7) donne "conseil"
- substr($chaine,-8) donne "creation"


Trouver le numéro d'une chaine

Il faut pour celà utiliser la fonction strpos() :
- $position = $strpos($chaine,$valeur),
- si la chaîne est trouvée, $position retourne le numéro du premier caractère.

Attention : pour tester si la chaîne a bien été trouvée :
- il faut utiliser if (!is_int($position)),
- il ne faut pas utiliser if (!$position).


Inversion d'une chaine

Pour inverser une chaîne, il faut utiliser la fonction strrev().


Compter le nombre d'occurrences dans une chaine

Pour compter le nombre de dans une chaîne, on utilise la fonction substr_count() :
- soit $chaine = "conseil & creation",
- substr_count($chaine, "o") donne 2.


Ajout d'un retour à la ligne automatique tout les n caractères

Il suffit d'utiliser la fonction wordwrap(). La syntaxe est wordwrap($chaine, n) (où n = nombre de caractères).


Répéter une chaine

On peut bien sûr utiliser une boucle, mais il existe une fonction spécifique : str_repeat(). La syntaxe est str_repeat($chaine, n) (où n = nombre de répétitions).

 


  Les tableaux  

 

Obtention du nombre d'éléments d'un tableau

En utilisant la fonction sizeof(). sizeof($tableau);

Précision : dans un tableau multidimensionnel, chaque élément est lui-même un tableau. Il suffit donc d'appliquer la fonction à la dimension qui nous intéresse : sizeof($tableau[3]);


Trier un tableau

En utilisant les fonctions sort(), rsort(), asort() et arsort() : :
- si $tableau = array("conseil","&","creation"),
- sort($tableau)


Suppression des doublons dans un tableau

Avec PHP4, vous pouvez utiliser la fonction array_unique().


Fusion de tableaux

Avec PHP4, vous pouvez utiliser la fonction array_merge().


Inversion d'un tableau

Avec PHP4, vous pouvez utiliser la fonction array_reverse().


Transformer un tableau en chaîne

En utilisant la fonction implode().

La fonction implode() permet de concaténer les valeurs d'un tableau sous forme de chaîne :
- soit $tableau = array("conseil", " & ", "creation"),
- $chaine = implode ($tableau).


Passer un tableau en argument d'un script à un autre

Ceci est impossible directement, mais peut bien sûr être réalisé en utilisant les fonctions implode() et explode() vues précédemment. Tout d'abord on groupe les éléments du tableau en une chaine (en les séparant d'un caractère bien défini). La chaîne est ensuite passée au second script qui se chargera de reconstituer le tableau avec la fonction explode().


Comment obtenir la plus petite / plus grande valeur d'un tableau

A l'aide des fonctions min() et max().


Affichage du premier / dernier élément d'un tableau

A l'aide des fonctions reset() et end().


Comparaison de deux tableaux

La fonction array_diff() retourne les éléments non communs aux deux tableaux.
La fonction array_intersect() retourne les éléments communs aux deux tableaux.

Précision : récupération des valeurs :
- soient $result = array_intersect ($array1, $array2) ou $result = array_diff ($array1, $array2),
- on récupère les variables comme ceci :
<?
  while (list($key, $val)=each($result)) {
    echo $val."\n";
  }
?>

 


Une question ? Venez échanger sur le forum...
Nom :
Sujet :
 

© Cédric MICHEL - conseil & création ( 2003 / 2019 )