【问题标题】:PHP - Detect change on stringPHP - 检测字符串的变化
【发布时间】:2010-12-11 10:46:37
【问题描述】:

我有一个数组,我做了一个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]

【问题讨论】:

标签: php arrays loops


【解决方案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++;
                            }
                        }
                ?>

【讨论】:

    【解决方案2】:

    你可以试试

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

    【讨论】:

      【解决方案3】:
      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";
      
        }
       }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-05
        • 2013-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多