2010-12-11 23 views
0

j'ai un tableau que je fais foreach($array as $key => $value)PHP - changement Détection de chaîne

dans mon $key je reçois

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

comment puis-je ajouter détecter les premiers changements de l'indice de [1][3]->[2][1]

toute aide est appréciée.

Ce que je veux atteindre est la suivante:

<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] 
+0

* (liés) * [itération du tableau Multidimensional] (http://stackoverflow.com/questions/2207599/multidimensional-array-iteration/2207739) – Gordon

+0

est en fait pas un tableau multidimensionnel, est devrait lire comme 'array ('name [1] [1]' => 'something');', essayez 'eval' à la place – ajreal

Répondre

1

Je ne sais pas si elle est la meilleure option, mais est comment je pour le faire.

<?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++; 
          } 
         } 
       ?> 
0

Vous pouvez essayer comme

foreach($name as $parent_key => $parent_value){ 
echo "<h4>Header</h4><br/>"; 
foreach($name[$parent_key] as $key=>$value) 
{ 
    echo $name[$i][$key]."<br/>"; 
} 
} 
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"; 

    } 
}