Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

PHP PHP Arrays and Control Structures PHP Loops For Looping

Vladislav Mavrin
PLUS
Vladislav Mavrin
Courses Plus Student 3,125 Points

On what stage should isset() be applied?

Got confused with isset () I need to compare $key with the incremented $i value and if they are equal, the message from the array should appear in front of number, but I can not figure it out whether to do it in or after the loop.

Will appreciate your help

index.php
<?php
$facts = array(
    57 => ' on Heinz ketchup bottles represents the number of varieties of pickles the company once had.',
    2 => ' is the approximate hours a day Giraffes sleeps',
    18 => ' is the average hours a Python sleeps per day',
    10 => ' per cent of the world is left-handed.',
    11 => ' Empire State Buildings, stacked one on top of the other, would be required to measure the Gulf of Mexico at its deepest point.',
    98 => '% of the atoms in your body are replaced every year',
    69 => ' is the largest number of recorded children born to one woman',
);
//add your loop below this line

list($key, $val) = each($facts);
for ($i = 1; $i <=100; $i++) {
     if (isset($key) == $i; {
     echo $i $val."<br />\n";
     }
     echo $i "<br />\n";
}
György Varga
György Varga
19,198 Points

Hi!

You are doing it right. You should place 'isset' inside the loop. But you should do should give two parameters to the 'isset'. The first parameter will be the actual number of the loop ('i') and the second should be the array with the actual number of the loop, so It will give back the value of the array. If both are set the 'isset' method will return true and the 'echo' will write out the actual number ($i) and the actual value ('$facts[$i]') of the array, if it is false it will retun only the actual number in the loop. Just like this below:

for ($i = 1; $i <=100; $i++) {
      if ( isset($i, $facts[$i])) {
          echo  $i . $facts[$i] . "<br />\n";
      }
      else {
     echo $i . "<br />\n";
     }
}

Hope this helps!

1 Answer