PHP PHP Arrays and Control Structures PHP Loops For Looping

This makes no sense? Show the next number, but show all the numbers? How about making the acceptance criteria clear? Pls

What is the solution? My code shows next number as per the requirement.

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


for ($i = 1; $i <= 100; $i++) {
  if (isset($facts[$i])) {
   continue; 
  } else {
    echo $i;
  }
}

2 Answers

Steven Parker
Steven Parker
203,243 Points

This code displays a number only if it does not match a key in the array. But the instructions ask you to always display the number, and if it matches a key to also display the value associated with that key (not the key number).

The error message that you got of "Bummer: I do not see all the numbers from 1 to 100." was a hint.

Adjust the code to conform to the instructions by placing the conditional "after displaying the number", and "If there is a key that matches, display the value AFTER the number."

jonathanbarrios
STAFF
jonathanbarrios
Treehouse Teacher

👋 Hi Jeremy Smith,

You are very close! The first part of the challenge just wants the numbers and I was able to pass that part like:

<?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
for($i=1; $i <=100; $i++) {
  echo $i . "\n";
 }

You are very close to solving the second part as well! In the 2nd part of the challenge, you want to check if each number has a fact associated with it, by using the isset() function. Let us know if you are still stuck and as always, happy coding! 🙌