BoneBreaker
BoneBreaker

Reputation: 9

PHP Echo out values of an array with ranges

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.

Upvotes: 0

Views: 1651

Answers (5)

Hanky Panky
Hanky Panky

Reputation: 46900

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

Upvotes: 1

Charaf JRA
Charaf JRA

Reputation: 8334

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

Upvotes: 0

Martin Prikryl
Martin Prikryl

Reputation: 202504

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]);

Upvotes: 0

Nikolay Ivanov
Nikolay Ivanov

Reputation: 5279

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.

Upvotes: 0

Ivo Pereira
Ivo Pereira

Reputation: 3500

Do you want to do this?

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

Upvotes: 0

Related Questions