第一次又没有了! 唉!
昨天突然一家公司打电话过来二话不说就要我做一份测试题时间为三天。平常只是有听过,今天居然也现在我身上了。现在公司越来越惊了。只能这样子说。下面是所有题中一道: br
昨天突然一家公司打电话过来二话不说就要我做一份测试题时间为三天。平常只是有听过,今天居然也现在我身上了。现在公司越来越惊了。只能这样子说。下面是所有题中一道:
有 N 个数组,每个数组中包含不确定个数的元素,元素可能重复。
将这 N 个数组元素进行统计操作,要求统计出所有元素(不重复)及每个元素各出现多少次,写出源代码。
(请不要直接使用数组合并函数array_merge,统计函数array_count_values)
<?php
#统计N个数组的不重复元素,且出现次数。
function merge_array_values(){
$rtuvalue = array();
$args = func_num_args();
switch ($args) {
case '0':
#如果function的参数个数为零的时候直接返回,并推出程序.
return false;
break;
case '1':
#function的参数个数为1的情况下处理情况.
$args_num = func_get_arg(0);
if(!is_array($args_num)) return false;
foreach ($args_num as $key => $value) {
$rtuvalue[] = $args_num[$key];
}
break;
default:
if (!empty($args) && $args>=2) {
for ($i=0; $i < $args; $i++) {
if(is_array(func_get_arg($i))){
$tmparr = array();
$tmparr = func_get_arg($i);
foreach ($tmparr as $key => $value) {
$rtuvalue[] = $tmparr[$key];
}
}
}
}
break;
}
if (is_array($rtuvalue)) {
$rtuvalues = sortarray($rtuvalue);
return $rtuvalues;
}else{
echo '参数不正确!';
}
}
function sortarray($arr){
$tmpval;
for($i=0;$i<(count($arr)-1);$i++){
for($j=0;$j<(count($arr)-1-$i);$j++){
if($arr[$j] > $arr[$j+1]){
$tmpval = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $tmpval;
}
}
}
return $arr;
}
function statistics_num($arr){
$temp_arr;
if(!is_array($arr)) return false;
$count = count($arr);
for($i=0;$i<$count;$i++){
$$arr[$i] = 1;
for ($j=0; $j < $count; $j++) {
if ($arr[$i] == $arr[$j]) {
$temp_arr[$arr[$i]] = $$arr[$j]++;
}
}
}
return $temp_arr;
}
$array1 = array('11','2','2','14','3','4','4','11','5','3','12','61','51');
$array2 = array('12','41','72','44','31','31','12','19','13','222','16','6','51');
$array3 = array('12','42','17','24','31','13','122','59','13','22','16','6','5');
$array4 = array('13','43','27','43','32','32','12','9','13','22','16','6','5');
$array5 = array('14','44','37','24','13','131','132','59','13','22','16','6','5');
$array6 = array('15','54','47','43','32','32','142','9','13','22','16','6','5');
$array7 = array('16','64','57','42','33','32','12','69','13','22','16','6','5');
$array8 = array('17','47','67','74','13','13','12','9','13','22','16','6','5');
$arrs = merge_array_values($array1,$array2,$array3,$array4,$array5,$array6,$array7,$array8);
print_r(statistics_num($arrs));
- 上一篇:PHP转换文件夹下所有文件的编码 适合发布网站的
- 下一篇:ini文件编辑
精彩图集
精彩文章






