begin process at 2010 03 19 02:46:35
  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 :2 626

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

CALCUL D'UNE DISTANCE ORTHONORMIQUE par bossfoot
Source avec Zip ESPACE ADMIN SIMPLE par mousaid_88
Source avec Zip IMAGINE-CMS V2.20 par djack69
Source avec Zip AFFICHAGE ET GESTION DE DIAPORAMA EN PHP SANS BASE DE DONNÉE... par mldvb
Source avec Zip Source avec une capture PARSER ALLOCINE par cyrhades

 Sources en rapport avec celle ci

Source avec Zip [PHP5.2] CLASSE PDO par hornetbzz
CLASS RECHERCHE PHP5 POO par mtrix000
CLASS AUTHENTIFICATION PHP5 POO par mtrix000
CLASS PAGINATION PHP5 POO par mtrix000
Source avec Zip API LDAP POO PHP5 (ENCAPSULATION DE L'API LDAP DE PHP) par emericv

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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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 : 3,432 sec (4)

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