0

I have an array which i do a foreach($array as $key => $value)

in my $key i get

name[1][1]  
name[1][2]  
name[1][3]  
name[2][1]  
name[2][2]  

how can I add detect when the first index changes from [1][3]->[2][1]

any help is appreciated.

What i want to achieve is this:

<h4>Header</h4>  
name[1][1]  
name[1][2]  
name[1][3]  
<h4>Header</h4>  
name[2][1]  
name[2][2]  
<h4>Header</h4>  
name[3][1]  
name[3][2]  
name[3][3]  
name[3][4]
ajreal
  • 46,720
  • 11
  • 89
  • 119
mandaman2k
  • 33
  • 6
  • *(related)* [Multidimensional array iteration](http://stackoverflow.com/questions/2207599/multidimensional-array-iteration/2207739) – Gordon Dec 11 '10 at 11:01
  • actually is not a multi-dimensional array , is should read as `array('name[1][1]'=>'something');`, try `eval` instead – ajreal Dec 11 '10 at 11:09

3 Answers3

1

Don't know if it is the best option, but this is how i managed to do it.

<?php $k = 1; $flag1 = 0; $flag2 = 1;foreach ($this->cart->product_options($items['rowid']) as $option_name => $option_value): ?>
                <?php 
                        $endpos = strpos($option_name,']');
                        $asd = substr($option_name,5,$endpos-5);
                        $this->firephp->log($asd);
                        if($asd % 2)
                        {
                            if($flag1 === 0)
                            {
                                echo ' <h4>Header '. $k .'</h4>';
                                $flag1 = 1;
                                $flag2 = 0;
                                $k++;
                            }
                        }
                        else
                        {
                            if($flag2 === 0)
                            {
                                echo ' <h4>Header '. $k. '</h4>';
                                $flag2 = 1;
                                $flag1 = 0;
                                $k++;
                            }
                        }
                ?>
mandaman2k
  • 33
  • 6
0

You can try like

foreach($name as $parent_key => $parent_value){
 echo "<h4>Header</h4><br/>";
 foreach($name[$parent_key] as $key=>$value)
 {
   echo $name[$i][$key]."<br/>";
 }
}
ajreal
  • 46,720
  • 11
  • 89
  • 119
A.C.Balaji
  • 1,053
  • 4
  • 13
  • 23
0
foreach($array as $key => $value){

 $valuevalues = array();

  foreach($value as $val){

   if($val != "" && !isset($valuevalues[$key][$val]))
    $valuevalues[$key][$val] = "different-than-previous";

   if(!isset($valuevalues[$key][$val]))
    $valuevalues[$key][$val] = "equal-to-first-value";

  }
 }
Webist
  • 39
  • 1
  • 9