PHP - 检测字符串上的更改

时间:2010-12-11 10:46:38

标签: php arrays loops

我有一个数组,我做foreach($array as $key => $value)

$key我得到

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

如何在第一个索引从[1][3]->[2][1]

更改时添加检测

感谢任何帮助。

我想要实现的目标是:

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

3 个答案:

答案 0 :(得分:1)

不知道这是否是最好的选择,但这就是我设法做到的。

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

答案 1 :(得分:0)

您可以尝试

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

答案 2 :(得分: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";

  }
 }