我有一个表格数据和所述数据的阵列是这样的:
$datas=array("x-1","y-2","y-2","y-3","t-1");
我的foreach循环:
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];
}
我写不出真正的代码,我的第3行是错误的,我认为(如果($数据[0] = $数据[0] +1){$ N = “1”;}其他{$ N = “”; })所以,我想重新命名给予编号重复键。 我的输出应该是这样的:
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++;
}
这段代码有错误,你使用=
这将分配价值,而不是进行比较。
也n
应该是整数串
为了解决这个问题
foreach($datas as $x => $data){
$data=explode("-",$data);
if($keys[$x]==$keys[$x+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="";}
使用==而不是=的if语句