begin process at 2012 02 13 09:11:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > IFSETOR POUR PHP5

IFSETOR POUR PHP5


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :ifsetor, php5, isset, tester varibale, if Niveau :Débutant Date de création :20/12/2007 Vu :3 573

Auteur : cedriclomb

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


 Description

Vous avez peut être entendu parlé de l'opérateur ifsetor de php6
voila en quelque ligne un résultat similaire pour php5 et c'est vrai que c'est plus lisible et plus rapide que les isset(...)?...:..;

Source

  • <?php
  • if(!function_exists('ifsetor')){//En espérant que ca suffise pour la migration a venir
  • function ifsetor(&$var,$set){
  • return isset($var)?$var:$set;
  • }
  • }
  • ?>
<?php
if(!function_exists('ifsetor')){//En espérant que ca suffise pour la migration a venir
 function ifsetor(&$var,$set){
 	return isset($var)?$var:$set;
 }
}
?>



 Sources du même auteur

Source avec Zip MARRE UN COUP UTF8 UN COUP ISO
Source avec Zip Source avec une capture CLASS DE MENU DÉROULANT PHP5
Source avec Zip Source avec une capture AGENDA BASÉ SUR FLUX RSS PRÉSENTÉ EN TABLEAU OU EN AGENDA !
Source avec Zip GENERATEUR DE PLAQUETTE GRAPHIQUE V1.1
Source avec Zip Source avec une capture TRI DE CONTACTS MSN

 Sources de la même categorie

Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK
Source avec Zip Source avec une capture EL COYOTOS LIVRE D'OR PHP 5 par elcoyotos
COMPTEUR DE VISITE - FICHIER TXT - CODE MINIMAL par SuperChouquette

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MY.BOOKMARKS par inwebo
Source avec Zip M.V.C M.E.D par faceme
Source avec Zip Source avec une capture TODO LIST (AJAX/PHP5) par VinceMonkeyz
CLASSE WIKILOC par aKheNathOn
CALENDRIER EN 70 LIGNES par tchconst

Commentaires et avis

Commentaire de neigedhiver le 20/12/2007 16:34:03

Salut,

Ce serait un snippet, plutôt qu'une source. Mais c'est un détail.

Sinon, oui, la vérification avec function_exists() suffit.
Enfin, si la fonction doit retourner une valeur, inutile de passer l'argument par référence, puisque la valeur n'est pas modifiée, mais seulement lue.

Sinon, merci de m'avoir fait découvrir cette future nouvelle fonction, qui va effectivement faciliter la lecture (et l'écriture) de ces assignations de variables.

Commentaire de cedriclomb le 20/12/2007 16:35:52

Répondre enlève le & et met toi en E_ALL tu vas comprendre

Commentaire de neigedhiver le 20/12/2007 16:44:11

Ok... J'avais zappé qu'il se passait ça. ^^

Commentaire de malalam le 20/12/2007 19:46:06 administrateur CS

Hello,

je pense que par son interrogation pour savoir si le function_exists() suffira, il parlait plutôt de la façon d'écrire la fonction. Est-ce que la fonction php6 s'appellera bien "ifsetor" ;-)
Ca, tu verras bien.
C'est intéressant...que ce soit plus lisible que l'opérateur ternaire, pas de doute? Plus rapide, pas à l'exécution vu que tu utilises aussi l'opérateur ternaire, comme on l'utiliserait sans ta fonction; plus rapide à l'écriture, ça oui.
J'ai réflêchi à un truc : avec l'opérateur ternaire, on peut gérer plusieurs conditions. Pas avec ta fonction (en tous cas, pas en "natif").
Avec func_get_args(), ça marche, sauf que si les $set passés n'existent pas, on a évidemment une erreur. Ca obligerait à appeler ta fonction en masquant les erreurs...burk.
Bref, je propose une petite modification, avec 2 versions. Une générant des erreurs (si si!! j'ose...), une en utilisant un tableau. Les deux ont un inconvénient : la 1ère nécessite un appel avec @, l'autre de passer un tableau dont les variables sopnt des références...c'est moche dans les deux cas. Mais c'est à réflêchir. Je pense quand même qu'en php pur, on ne fera pas mieux...
L'autre truc, c'est que je n'utilise pas d'opérateur ternaire : il est plus lent qu'un if...else. Si on garde ta fonction telle quelle, je pense qu'il faut virer l'opérateur ternaire, ce sera tjrs plus rapide.
<?php
/*
if(!function_exists('ifsetor')){//En espérant que ca suffise pour la migration a venir
function ifsetor(&$var){
$iCpt = 0;
while(false !== ($mArg = (func_get_arg($iCpt)))) {
if(isset($mArg)) {
return $mArg;
}
$iCpt++;
}
}
}
$a = @ifsetor($a, $b, $c, 5);
echo $a;
*/
if(!function_exists('ifsetor')){//En espérant que ca suffise pour la migration a venir
function ifsetor(&$var, $aArgs){
if(isset($var)) {
return $var;
}
foreach($aArgs as $mArg) {
if(isset($mArg)) {
return $mArg;
}
}
}
}
$a = ifsetor($a, array(&$b, &$c, 5));
echo $a;
?>

Commentaire de malalam le 20/12/2007 19:47:29 administrateur CS 8/10

Je note quand même, même si je suis d'accord avec Neige : ça n'a pas sa place ici, ce devrait être sur codyx.org.

Commentaire de kankrelune le 23/12/2007 15:08:53 7/10

Moi au risque de faire mon rabat joie je ne vois pas l'intérêt d'encapsuler une condition dans une fonction... ça alourdi le code pour rien... et ce encore plus avec l'opérateur ternaire... l'intérêt du ifsetor() est qu'il sera (bien que ce ne soit pas encore fait) natif à php donc rapide à l'exécution... après, pour gérer une portabilité descendante, pourquoi pas mais je ne suis pas convaincu... .. .

@ tchaOo°

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

if (isset($_GET [ par kelm_by ] salut tous le monde,je ne sais pas pourquoi ce code ne fonctione pas???????????????&lt;phpif (isset($_GET['l'])) {include 'l.php';}if (isset($_GET['id Recherche dans table SQL [ par Sniark ] Bonjour à tous,J'essaie depuis quielques jour de construire un moteur de recherche pour une table de ma base de donnée.Il doit y avoir une erreur, je isset/isempty [ par glad ] Bonjour,J'ai l'habitude de coder des lignes dans le genre : if (isset($variable) &amp;&amp; !empty($variable))   ...Je me demande si je ne pourrais pa Insertion dans base de données MYSQL IMPOSSIBLE! [ par MuS3 ] Bonjour,Je fais un projet pour mon bac et c'est un formulaire, je dispose de deux fichiers, un inscription.html et un inscription .php.Le problème est verification des champs avec ajax et php [ par lassad_haddaji ] salut, j'ai fais une page d'inscription qui est géré par un script ajax et fichier signin.php le probleme que lors de verification des champs sort l'e Formulaire d'envoi de mail html/php [ par elt93 ] Bonjour,Je suis entrain de créer un site web et j'aimerais mettre dedans un formulaire qui m'enverrait des informations par mail via php. Mais le prob Probleme parse error dans verification de champs vide [ par elt93 ] Bonjour,J'ai ajouté un 3 lignes de codes dans mon code d'envoi de mail php pour verifier si les champs de mon formulaire sont vides ou pas et quand je impossible de parser correctement un formulaire [ par TropNul ] Bonjour,Je viens pour la premiere fois demander de l'aide aux experts.Merci d'avance ;)Alors voila le code qui me pose probleme.&lt;?phpfunction verif transfert d'une image par formulaire vers une base de données [ par stageman ] Bonjour,je developpe la partie admin de mon site et j'ai réalisé un formulaire qui transfert les données rentrées dans celui-ci vers ma base de donnée Problème avec un "if" [ par taxitat ] Bonjour à tous,J'espère avoir posté dans la bonne section (si non, dsl, les modos)Sur mon site, j'ai une page index.php où à l'intérieur je fais un in


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales