C1 C2 O1 O2
0 a c 0 0
1 e a 0 0
2 a b 0 0
3 d c 0 0
4 g y 0 0
5 d t 0 0
6 b n 0 0
7 a r 0 0
8 y b 0 0
以上是一段数据样本,第一列是序号id,不用管,其实C1和C2是不止abcd这26个字母的可能性,有上百种可能性,都是杂乱分布在这两列中的,已知C1[$i]永远不会等于C2[$i],将以上数据读入php数组$a后,其中O1对应的是C1,O2对应的是C2,现在要做的是给O1和O2赋值,任何正整数均可,但要满足以下条件:
1.例如你想给第1行C1的a赋个值10,上面说了,C1对应是O1,那么 O1就是10 ,好,那所有一下出现的a都是10,$a[1]['C2']=‘a’那么$a[1]['O2']也会是10,$a[2]['C1']也是a,$a[2]['O1']也会是10,如此类推
2.重点来了,虽然你可以给随便赋值,但O1和O2赋值完成后,必须每一行的O2大于O1,这个就是难点
tips:经过我自己的算法赋值,最多只能做到大约有1-4%的行数实在不可能做到O2大于O1,假如哪位大神能做到100%,那就更好,不能的尽量控制在4%以下
求对$a 中O1和O2赋值过程(PHP代码)
这个问题很难,只要能帮助到我的就算不能解决问题,我也会说声谢谢
最佳答案