一维数组的重复项:
二维数组的重复项:
一维数组的重复项:
二维数组的重复项:
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; } ?>