一维数组的重复项:
二维数组的重复项:
一维数组的重复项:
二维数组的重复项:
PHP面试题中,关于日期的题目作为基础考题经常出现,下面讨论一下获取两个日期之间的天数的方法。
收到一个答案,拆分年、月、日,分别进行减法,然后统计天数,好累。
针对低版本的PHP可以用下面的方式搞定:
$date1 = '2014-02-18 00:09:13';
	$date2 = '2014-03-19 00:02:18';
	function differDays($date1, $date2) {
		$differNums = strtotime($date2) - strtotime($date1);
		$differNums = $differNums / (3600 * 24);
		echo floor(abs($differNums));
	}
	echo differDays($date1, $date2);
	echo "\n";
//或者
	function difDays($date1,$date2){ 
		$date1 = substr($date1, 0, 10);
		$date2 = substr($date2, 0, 10);
		$time1 = explode("-", $date1); 
		$time2 = explode("-", $date2); 
		$date1 = mktime(0, 0, 0, $time1[1],$time1[2],$time1[0]); 
		$date2 = mktime(0, 0, 0, $time2[1],$time2[2],$time2[0]);
		return ($date2 - $date1)/(3600*24) - 1; 
	}
	echo difDays($date1, $date2);
PHP5.3以上版本可以使用date_diff:
function dateDiff($date1, $date2) {
		$datetime1 = new DateTime($date1);
		$datetime2 = new DateTime($date2);
		$interval = $datetime1->diff($datetime2);
		return $interval->format('%a');
	}
	echo dateDiff($date1, $date2);
本文例子下载:http://pan.baidu.com/s/1eQ1Nn14
<?php
	$testArr = range(a, z);
	#######  the first method  
	$newArr = arrayRand($testArr);
	var_dump($newArr);
	function arrayRand($arr, $num = 3) {
		$arr1 = array_rand($arr, $num);
		$newArr = array();
		foreach ($arr1 as $key => $value) {
			$newArr[] = $arr[$value];
		}
		return $newArr;
	}
	echo "\n";
	######  the second method
	$arr2 = arrayRandom($testArr);
	var_dump($arr2);
	function arrayRandom($arr, $num = 3) {
		shuffle($arr);
		// list($a, $b, $c) = $arr;
		$newArr = array();
		for ($i = 0; $i < $num; $i++) {
			$newArr[] = $arr[$i];
		}
		return $newArr;
	}
	###### the third method    getting random value from assoc arrays
	$testArr = array(
		'a' => 'siyuantlw',
		'b' => 'chengxusheji',
		'c' => 'redisfans',
		'd' => 'phpzl',
		'e' => 'yemiansheji'
	);
	echo "\n";
	$newArr = assocArrayRandom($testArr);
	var_dump($newArr);
	function assocArrayRandom($arr, $num = 2) {
		$keyArr = array_keys($arr);
		shuffle($keyArr);
		$newArr = array();
		for ($i = 0; $i < $num; $i++) {
			$newArr[$keyArr[$i]] = $arr[$keyArr[$i]];
		}
		return $newArr;
	}
?>