2010-11-10 7 views
-1

En PHP, est-il une meilleure façon de dire une variable égale à elle-même, par exemple:meilleure variable PHP lui-même est égal à

$floor = floor($difference/$key); 
if($floor > 1) { 
    $value .= "s"; 
} else { 
    $value .= ""; 
}; 

Sur la quatrième ligne, nous disons $floor lui-même équivaut à plus une chaîne vide. Y a-t-il une meilleure manière de faire cela?

+3

Pourquoi diable cette ligne existe-t-elle en premier lieu? – SLaks

+0

Je ne suis pas sûr de ce que vous avez demandé. Ne pourriez-vous pas ignorer complètement le 'else'? – MartinodF

+0

OMG! Désolé, il est tard, mon idiot, vraiment grosse erreur! Je vais mettre à jour ma question maintenant, j'ai mal mes noms de variables. Attention, la variable $ value n'aura pas été initialisée! –

Répondre

4

Oui.

Vous ne pouvez rien faire.
$floor est déjà égal à lui-même. Vous pouvez supprimer l'intégralité du bloc else.

+0

Désolé, si $ floor n'était pas déjà initialisé alors j'obtiendrais une erreur si j'appelais la variable $ floor plus tard dans le code, et $ floor n'avait pas été supérieur à 1. Je demande s'il y a une meilleure façon de dire "$ floor = $ floor". Merci pour votre réponse rapide! –

+0

@Jonathon: De quoi parlez-vous? Si ce n'est pas encore initialisé, vous obtiendrez la même erreur ici. – SLaks

+0

Mon erreur stupide, s'il vous plaît relire ma question éditée! Extremement Désolé! –

1

Votre code mis à jour n'a toujours pas de sens. Vous n'attribuez pas, vous êtes en train de concaténer. Est-ce ce que tu voulais faire?

if($floor > 1) { 
    $value = "s"; 
} else { 
    $value = ""; 
} 

Vous pouvez réduire cela en utilisant l'ternary operator:

$value = ($floor > 1) ? 's' : ''; 

Si $value est déjà une chaîne vide, vous n'avez pas besoin de prendre des mesures. Toutes les instructions if ne doivent pas correspondre else.

Questions connexes