php:通过在foreach中给数字重命名重复的键 [英] php: rename duplicate keys by giving number in foreach

查看:177
本文介绍了php:通过在foreach中给数字重命名重复的键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表单数据和数据数组,如下所示:

i have a form data and the data's array like this:

$datas=array("x-1","y-2","y-2","y-3","t-1");

我的foreach循环:

my foreach loop:

    foreach($datas as $x => $data){
    $data=explode("-",$data);
    if($data[0]==$data[0]+1){$n=1;}else{$n=0;}
    $keys[$x]=$data[0].$n++;
    $vals[$x]=$data[1];
}

我无法编写真实的代码,我认为我的第三行是错误的(if($ data [0] = $ data [0] +1){$ n ="1";} else {$ n = ";}) 因此,我想通过给出数字来重命名重复的键.我的输出应该是这样的:

i couldn't write the true code, my 3rd line is wrong i think (if($data[0]=$data[0]+1){$n="1";}else{$n="";}) so, i wanna rename the duplicate keys by giving number. my output should be like this:

x=1 y1=1    y2=2    y3=2    t1=1

推荐答案

尝试

     $datas=array("x-1","y-2","y-2","y-3","t-1");

     $i=0;
     $n=1;
     foreach($datas as $x => $data){
     $data=explode("-",$data);
     $data2=explode("-",$datas[$i+1]);
     if($data[0]==$data2[0])
      {  
      $keys[$x]=$data[0].$n; 
      $n=$n+1;
      }
      else
     {
     $keys[$x]=$data[0].$n; 
     $n=0;
     }

       $vals[$x]=$data[1];
    $i++;
 }

这篇关于php:通过在foreach中给数字重命名重复的键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆