The way you want to do this…
To answer the original question re: your formatting, you can use an if statement to define a variable, but it’s not particularly readable:
$myVariable = (strlen($myString) > 0) ? '<p>'.$myString.'</p>' : '';
echo $myVariable;
Recommended way to do this…
However, in your case this is entirely unnecessary, you can use the far more understandable form:
Note: PHP echo does not product an error if passed an undefined variable. It will just echo nothing which I assume is what you want it to do.
if (strlen($myString) > 0) {
$myVariable="<p>".$myString.'</p>';
}
echo $myVariable;
Live demo with $myString set and empty for the neighsayers.
Added note re strlen performance…
You may find that using if(isset($myString)) is more efficient than using if(strlen($myString)>0): isset (0.064 sec) vs strlen (0.144 sec). If it is possible for $myString to be undefined then strlen becomes up to 3x slower still (0.5 sec) whilst isset becomes faster (0.048 sec).
So your final code should be:
if (isset($myString)) {
$myVariable="<p>".$myString.'</p>';
}
echo $myVariable;
6
solved php – Set variable to result of if statement [closed]