如何获取对应数组的结果。形成新的对应数组
本帖最后由 qq914260102 于 2013-10-30 10:58:39 编辑 $t1 = Array ( 0 => '南昌', 1 => '南昌', 2 => '赣州', 3 => '九江', 4 => '赣州', 5 => '九江');
$t2 = Array ( 0 => '优秀', 1 => '良好', 2 => '优秀', 3 => '良好', 4 => '优秀', 5 => '差等' );
比如,我有上面两个数组。$t1【0】和$t2【0】....$t1【i】和$t2【i】是有对应关系的,$t1【0】和$t2【0】代表=====南昌,优秀。
我想把$t1去重形成一个新的数组$t11 = Array ( 0 => '南昌', 1 => '赣州', 2 => '九江');
同时对$t2进行拆分。形成三个新的数组(分别统计$t11数组对应的优秀、良好、差等)。分别和$t11关联。
南昌,赣州 九江优秀的数目统计。(根据$t2去计算优良差的个数)
优秀的数组如下
$t2_yx=Array ( 0 => '1', 1 => '2', 2 => '0' );
良好的数组如下
$t2_lh=Array ( 0 => '1', 1 => '0', 2 => '1' );
差等的数组如下
$t2_cd=Array ( 0 => '0', 1 => '0', 2 => '1' );
请问用程序什么实现。。感谢。
$t2 = Array ( 0 => '优秀', 1 => '良好', 2 => '优秀', 3 => '良好', 4 => '优秀', 5 => '差等' );
比如,我有上面两个数组。$t1【0】和$t2【0】....$t1【i】和$t2【i】是有对应关系的,$t1【0】和$t2【0】代表=====南昌,优秀。
我想把$t1去重形成一个新的数组$t11 = Array ( 0 => '南昌', 1 => '赣州', 2 => '九江');
同时对$t2进行拆分。形成三个新的数组(分别统计$t11数组对应的优秀、良好、差等)。分别和$t11关联。
南昌,赣州 九江优秀的数目统计。(根据$t2去计算优良差的个数)
优秀的数组如下
$t2_yx=Array ( 0 => '1', 1 => '2', 2 => '0' );
良好的数组如下
$t2_lh=Array ( 0 => '1', 1 => '0', 2 => '1' );
差等的数组如下
$t2_cd=Array ( 0 => '0', 1 => '0', 2 => '1' );
请问用程序什么实现。。感谢。
分享到:
------解决方案--------------------
------解决方案--------------------
//第一步<br>$t1 = Array ( 0 => '南昌', 1 => '南昌', 2 => '赣州', 3 => '九江', 4 => '赣州', 5 => '九江'); <br>$t2 = Array ( 0 => '优秀', 1 => '良好', 2 => '优秀', 3 => '良好', 4 => '优秀', 5 => '差等' );<br>$t = array_map(null, $t1, $t2);<br>print_r($t);<br>/* 得到<br>Array<br>(<br> [0] => Array<br> (<br> [0] => 南昌<br> [1] => 优秀<br> )<br><br> [1] => Array<br> (<br> [0] => 南昌<br> [1] => 良好<br> )<br><br> [2] => Array<br> (<br> [0] => 赣州<br> [1] => 优秀<br> )<br><br> [3] => Array<br> (<br> [0] => 九江<br> [1] => 良好<br> )<br><br> [4] => Array<br> (<br> [0] => 赣州<br> [1] => 优秀<br> )<br><br> [5] => Array<br> (<br> [0] => 九江<br> [1] => 差等<br> )<br>)<br>*/<br><br>//第二步<br>$r = array();<br>foreach($t as $v) {<br> $r[$v[0]][] = $v[1];<br>}<br>print_r($r);<br>/*得到<br>Array<br>(<br> [南昌] => Array<br> (<br> [0] => 优秀<br> [1] => 良好<br> )<br><br> [赣州] => Array<br> (<br> [0] => 优秀<br> [1] => 优秀<br> )<br><br> [九江] => Array<br> (<br> [0] => 良好<br> [1] => 差等<br> )<br>)<br>*/<br><br>//第三步<br>$r = array_map('array_count_values', $r);<div class="clear">
</div>









