PHP - 检测字符串的变化

发布于 2024-10-06 19:40:26 字数 513 浏览 0 评论 0原文

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

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]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

跨年 2024-10-13 19:40:26

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

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

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++;
                            }
                        }
                ?>
聆听风音 2024-10-13 19:40:26

你可以尝试像

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

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/>";
 }
}
谁许谁一生繁华 2024-10-13 19:40:26
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";

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

  }
 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文