3

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.

MGB
  • 35
  • 1
  • 4

6 Answers6

2
<?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 } ?>
saloni
  • 121
  • 4
2
Try this code:
<?php if (!empty($g1)) { ?>
((This part should not display if variable $g1 is empty))
<?php } ?>
Indrajeet Singh
  • 2,958
  • 25
  • 25
0

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 } ?>
meda
  • 45,103
  • 14
  • 92
  • 122
  • 1
    if its not empty, then surely it must be set –  Jul 21 '14 at 04:19
  • isset just checks for null, you can still check for empty strings with empty() – meda Jul 21 '14 at 04:21
  • No need to. Just like `isset()`, `empty()` won't issue Warnings when used with undeclared variables, and should return `FALSE` if it's undeclared. – Havenard Jul 21 '14 at 04:28
0

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
denisvm
  • 720
  • 3
  • 11
0

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>";
    } 
?>
Jacky Cheng
  • 1,536
  • 1
  • 10
  • 22
-2

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; ?>