-->

How do I hide several lines if php variable is emp

2019-07-04 22:55发布

问题:

As a learner in PHP, I'm struggling to hide from displaying several lines, if a chosen variable is empty. I can get this to work on a basic level, but am lost when the content to be hidden gets more complicated. The concept I am aiming at is this:

<?php if (isset($g1)) { ?>
((This part should not display if variable $g1 is empty))
<?php } ?>

My code looks like this:

<?php if (isset($g1)) { ?>
<a href="img/g1.png"  class="lightbox"  rel="tooltip" data-original-title="<?php print $g1; ?>" data-plugin-options='{"type":"image"}'>
<img class="img-responsive img-rounded wbdr4" src="img/g1.png">
</a>
<?php } ?>

In the above, the tooltip does not display when variable g1 is empty, but the rest does. I'm new here so, I hope I've formatted my question correctly. Help appreciated.

回答1:

<?php if (isset($g1) && $g1!='') { ?>
<a href="img/g1.png"  class="lightbox"  rel="tooltip" data-original-title="<?php print $g1; ?>" data-plugin-options='{"type":"image"}'>
<img class="img-responsive img-rounded wbdr4" src="img/g1.png">
</a>
<?php } ?>


回答2:

Try this code:
<?php if (!empty($g1)) { ?>
((This part should not display if variable $g1 is empty))
<?php } ?>


回答3:

The isset() function checks if the variable has been set, even if to an empty string. There's the empty() function which checks if the variable is not set or set to empty string.

<?php
$x = '';
if (isset($x)) print('$x is set');
if (empty($x)) print('$x is not set or is empty');
if (isset($x) && empty($x)) print('$x is set and is empty');
if (!empty($x)) print('$x is set and not empty'); // won't emit warning if not set


回答4:

You can make use if empty() function:

<?php if (isset($g1) && !empty($g1)) { ?>
((This part should not display if variable $g1 is empty))
<?php } ?>

or

<?php if (isset($g1) && $g1 !== '') { ?>
((This part should not display if variable $g1 is empty))
<?php } ?>


回答5:

Here's my answer that seems to be going a totally different route than everyone else, which i have no idea why.

To do what OP wants, one way is to expand the php tag to include all.

<?php 
    if (isset($g1)) { 
        echo "<a href='img/g1.png'  class='lightbox'  rel='tooltip' data-original-title='".$g1."' data-plugin-options='{\"type\":\"image\"}'>";
        echo "<img class='img-responsive img-rounded wbdr4' src='img/g1.png'>";
        echo "</a>";
    } 
?>


回答6:

hiding something is pretty easy in php you can use it in several ways and here is how it would look like

<?php if(isset($g1) == ""): ?>
   //The $g1 is empty so anything here will be displayed
<?php else: ?>
   //The $g1 is NOT empty and anything here will be displayed
<?php endif; ?>