Bonjour,
Dans ta première ligne, tu as une structure conditionnelle "simplifiée": ça correspond à un "if" mais en version rapide. Après comme je n'utilise jamais cette écriture (d'ailleurs, si on pouvait m'expliquer son intérêt mise à part le fait qu'elle est plus courte, ça serait gentil ^^) je ne saurais pas te traduire exactement mais en cherchant un peu ça doit se trouver
Bonne journée, Spoutnik, qui s'excuse du peu d'informations qu'il peut te donner ^^'.
Code PHP :
<?php
$TMPL['unq_pv_max_daily'] = $TMPL['unq_pv_0_daily'] > $TMPL['unq_pv_max_daily'] ? $TMPL['unq_pv_0_daily'] : $TMPL['unq_pv_max_daily']; // qu'est se que les ">" et le "?" font ici :s
En gros : si $TMPL['unq_pv_0_daily'] est supérieur à $TMPL['unq_pv_max_daily'], alors $TMPL['unq_pv_max_daily'] prend pour valeur $TMPL['unq_pv_0_daily'], sinon il garde sa valeur originelle.
Et moi non plus, à part la syntaxe plus courte, je ne voit pas vraiment d'utilité ici... on m'avait même dit que cette syntaxe est plus lente qu'un simple if{...}, par exemple dans une boucle avec beaucoup d'itérations apparemment ça se ressent (à tester).
Code PHP :
<?php
$TMPL['reviews'] .= $this->do_skin('stats_review'); // le même problème ici avec les -> .
Code PHP :
<?php
$TMPL['unq_pv_max_daily'] = $TMPL['unq_pv_0_daily'] > $TMPL['unq_pv_max_daily'] ? $TMPL['unq_pv_0_daily'] : $TMPL['unq_pv_max_daily'];
C'est une opération trinaire (un if simplifié comme l'a dis Spoutnik).
Voila ce que ça veut dire : si l'opération booléenne $TMPL['unq_pv_0_daily'] > $TMPL['unq_pv_max_daily'] renvoie vrai, alors $TMPL['unq_pv_max_daily'] = $TMPL['unq_pv_0_daily'] sinon $TMPL['unq_pv_max_daily'] = $TMPL['unq_pv_max_daily'].
Après, sans savoir ce que veulent dire les variables, je ne peux pas t'expliquer plus ^^
Code :
$TMPL['reviews'] .= $this->do_skin('stats_review');
Là c'est de l'objet (php5). tu appliques la méthode do_skin() à ton objet (this étant ton objet correspondant à la classe d'où vient ce morceau de code).
Code :
$result = $DB->select_limit("{$query} ORDER BY RAND()", 2, 0, __FILE__, __LINE__);
Pareil, ton objet DB (pour DataBase je suppose), tu lui appliques la méthode select_limit qui prend pour arguments un requete ainsi que 4 autres paramétres (regarder la fonction plus en détail pour savoir ce que sont les 2ème et 3èmes paramètres). Les 2 derniers paramètres te permettent de connaitre le fichier et la ligne lorsque ta requête "plante"
Code :
while (list($TMPL['id'], $TMPL['date'], $TMPL['review']) = $DB->fetch_array($result))
Là il y a un problème, tu as du oublier un bout de code car il y a une parenthèse en trop
EDIT : pas assez rapide ^^
loka a écrit :Code PHP :
<?php
$TMPL['unq_pv_max_daily'] = $TMPL['unq_pv_0_daily'] > $TMPL['unq_pv_max_daily'] ? $TMPL['unq_pv_0_daily'] : $TMPL['unq_pv_max_daily'];
C'est une opération trinaire (un if simplifié comme l'a dis Spoutnik).
Voila ce que ça veut dire : si l'opération booléenne $TMPL['unq_pv_0_daily'] > $TMPL['unq_pv_max_daily'] renvoie vrai, alors $TMPL['unq_pv_max_daily'] = $TMPL['unq_pv_0_daily'] sinon $TMPL['unq_pv_max_daily'] = $TMPL['unq_pv_max_daily'].
Après, sans savoir ce que veulent dire les variables, je ne peux pas t'expliquer plus ^^
La poo, je 'men sert pas pour l'instant, mais je trouve cette structure très interessante
Code PHP :
<?php
$a=1;
$b=2;
$a = $b > $a ? $b : $a;
//si 2>1, $a=1;
//sinon, $a=$a
En fait, je viens de decouvrir sa ya 2 jours et j'adore perso
Code PHP :
<?php
$essai = 1;
$test = 5;
$var = ($essai > $test ) ? "Coucou, essai est plus grand que test" : 'test est plus grand que essai';
echo $var;
Renvera : test est plus grand que essai,
Vous pouvez pas juste représenter l'équivalent ?
Code :
$var = ($essai > $test ) ? "Coucou, essai est plus grand que test" : 'test est plus grand que essai';
Equivaut à :
Code :
if( $essai > $test )
{
$var = 'Coucou, essai est plus grand que test';
}
else
{
$var = 'test est plus grand que essai';
}
Cordialement,
Arf, jl'avais pas ecris ?
J'y comptais, desolé
merci beaucoup pour votre aide
bonne soirée, leni