phpInfo.netLes ArchivesLes éléPHPants

  
  Accueil
  Trucs & Astuces
  Scripts
  Regex
  Annuaire
  Articles

.
      
 Astuces   PHP  Variables


Concaténation de variables en utilisant les accolades[30-04-2002]
Posté par Fabrice Potec

Voici une alternative à la concaténation classique en utilisant les accolades pour délimiter le nom de la variable.

Ainsi ceci (méthode traditionelle):

<?
$lettre_a
= 'A';
$MaChaine = $lettre_g.'ABCDEFGHIJKLMNOPQRSRTUVWXYZ';
?>

Peut aussi s'écrire:

<?
$lettre_a
= 'A';
$MaChaine = '${lettre_a}BCDEFGHIJKLMNOPQRSRTUVWXYZ';
?>

Cela trouve une application assez pratique en terme de lisibilité dans la conception des requêtes SQL, comme cet exemple:

<?      
$request  
= "SELECT
$DBuser.ID,$DBuser.Nom,$DBuser.Email,
${DBuser}_abonn.ID,${DBuser}_abonn.NL ";
$request .= "FROM $DBuser,${DBuser}_abonn WHERE ${DBuser}_abonn.NL='$OPbase' AND
$DBuser.ID=
${DBuser}_abonn.ID ";
$request .= "LIMIT $LimitDebut, 1000";
?>

Dans cet exemple nous ne somme pas systématiquement obligé de sortir de la chaîne avec des double-quote/point pour concaténer.

Récupérer et initialiser facilement des variables[06-01-2002]
Posté par Mélinda

Cette fonction permet de récupérer et d'initialiser des variables si elles n 'existent pas dans
les $HTTP_*_VARS (valeur par defaut '').

<?
function get_param($VAR,$DEFAULT=''){
  global
$HTTP_POST_VARS;
  global
$HTTP_GET_VARS;
  global
$HTTP_COOKIE_VARS;

  while (list(
$k,$v) = each($HTTP_POST_VARS)){
    
$PARAM["$k"] = $v;
  }
  
  while (list(
$k,$v) = each($HTTP_GET_VARS)){
    
$PARAM["$k"] = $v;
  }

  while (list(
$k,$v) = each($HTTP_COOKIE_VARS)){
    
$PARAM["$k"] = $v;
  }

  if (isset(
$PARAM[$VAR])) {
    return
$PARAM[$VAR];
  } else {
    return
$DEFAULT;
  }
}
?>


Echange de variables[30-01-2001]
Posté par Alex

Pour échanger le contenu de 2 variables sans passer par une variable temporaire, il suffit d'utiliser les fonctions list() et array().

<?
    
list($var1, $var2) = array($var2, $var1);
?>

au lieu de :

<?
    $temp
= $var1;
    
$var1 = $var2;
    
$var2 = $temp;
?>


Création automatique de variables[26-01-2001]
Posté par Djebar

Dans le cas d'écritures de scripts PHP il est souvent long et fastidieux de valider des données. Voici une astuce fort simple qui règle ce problème, en particulier pour les gestions d'evénements.

Par exemple on effectue une requête sur une table individu(id, nom, prenom, birthdate, adresse ...). La requête est :

<?
$result
= @mysql_query("select * from invidu where id=$id_individu")
          or die(
"erreur")

// création automatque des variables
while ($row = mysl_fetch_aray($result))
{
    while(list(
$key,$val) = each($row))
    {
        
// création dynamique de la variable
        
${$key} = $val;
    }
}

// résultat création dynamique des variables
// (definition et affectation)

$id = $id_candidat
$nom
$prenom
$birthdate
$adresse
?>

Cette astuce peut être utilisée pour la validation (check data) de données similaires. Imaginez le reste ... Par exemple créer une gestion dynamique des erreurs en PHP (un simili de try catch).

Noms de variables variables[21-10-2000]

Il est parfois nécessaire de parcourir une liste de variables dont le nom s'incrémente : $var1, $var2, ...
On utilise pour cela les variables variables :

<?
for ($cpt = 1; $cpt <= $nb_var; $cpt++) {
  echo
"var = ".${"var".$cpt}."<BR>";
}
?>

ou

<?
for ($cpt = 1; $cpt <= $nb_var; $cpt++) {
  
$var = "var".$cpt;
  echo
"var = ".$$var."<BR>";
}
?>


Informations sur le visiteur et variables d'environnement[10-05-2000]

Il existe plusieurs variables d'environnement pouvant vous donner des informations sur les visiteurs de votre site.

$REMOTE_ADDR : adresse IP
$HTTP_USER_AGENT : nature du navigateur
L'ensemble des variables peut être connu grâce à la fonction phpinfo().

On y trouve en vrac des informations sur la version de PHP (modules et configuration), sur le serveur Web (OS, ...), les en-têtes HTTP, ...

Les tableaux HTTP_GET_VARS, HTTP_POST_VARS contiennent les données saisies dans les formulaires.
Le tableau HTTP_COOKIE_VARS donne les cookies positionnés sur le client.

Supprimer une variable[29-04-2000]

Pour supprimer la variable $variable utiliser la commande unset($variable).

<?
$variable
= "valeur";
// isset($variable) retourne true

unset($variable);
// isset($variable) retourne false
?>


Variables globales et fonctions[29-04-2000]

Pour accéder aux variables globales dans les fonctions, vous avez 2 possibilités.

<?
function Afficher() {
  global
$variable;
  echo
$variable;
}
?>

ou

<?
function Afficher() {
  echo
$GLOBALS["variable"];
}
?>


Synseo