龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

第一次又没有了! 唉!

时间:2014-07-22 14:51来源: 作者: 点击:
分享到:
昨天突然一家公司打电话过来二话不说就要我做一份测试题时间为三天。平常只是有听过,今天居然也现在我身上了。现在公司越来越惊了。只能这样子说。下面是所有题中一道: 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));
精彩图集

赞助商链接