0

I am still learning PHP and have a bit of an odd item that I haven't been able to find an answer to as of yet. I have a multidimensional array of ranges and I need to echo out the values for only the first & third set of ranges but not the second. I'm having a hard time just finding a way to echo out the range values themselves. Here is my code so far:

$array = array(
    1=>range(1,4),
    2=>range(1,4),
    3=>range(1,4)
);

foreach(range(1,4) as $x)
{

    echo $x;
}

Now I know that my foreach loop doesn't even reference my $array so that is issue #1 but I can't seem to find a way to reference the $array in the loop and have it iterate through the values. Then I need to figure out how to just do sets 1 & 3 from the $array. Any help would be appreciated!

Thanks.

5 Answers 5

1

Since you don't want to show the range on 2nd index, You could try

<?php

$array = array(
    1=>range(1,4),
    2=>range(1,4),
    3=>range(1,4)
);

foreach($array as $i=>$range)
{
if($i!=2)
{
    foreach($range as $value)
    {
    echo $value;
    }
}
}

?>

Note: It's not really cool to name variables same as language objects. $array is not really an advisable name, but since you had it named that way, I didn't change it to avoid confusion

Sign up to request clarification or add additional context in comments.

Comments

0

Do you want to do this?

foreach ($array as $item) {
    echo $item;
}

Comments

0

You can use either print_r($array) or var_dump($array). The second one is better because it structures the output, but if the array is big - it will not show all of it content. In this case use the first one - it will "echo" the whole array but in one row and the result is not easy readable.

Comments

0

Range is just an array of indexes, so it's up to you how to your want to represent it, you might want to print the first and the last index:

function print_range($range)
{
    echo $range[0] . " .. " . $range[count($range) - 1] . "\n";
}

To pick the first and the third range, reference them explicitly:

print_range($array[1]);
print_range($array[3]);

Comments

0

here is one solution:

$array = array(
1=>range(1,4),
2=>range(1,4),
3=>range(1,4)
);
   $i=0;

   foreach($array as $y)
   { $i++;
          echo "<br/>";

     if($i!=0){ foreach($y as $x)
       {
           echo $x;
       }
                      }
   }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.