#關於字符串的測試 //$v = '00'; // $x2 = $v+1; //echo $v&1; //echo($v == 1)?'相等':'不相等'; //結論:對於字符串的以0開頭後面接數字的 在進行運算(算術、邏輯、判斷相等)時都會先轉化成數值型 #關於數組的測試 /*$i = '01'; $arr = array(1,2); if(array_key_exists($i,$arr)){ echo 'exist'; }else{ echo 'not exist'; } $id = "22"; $arr1[$id] = "xxx"; var_dump($arr1); $id = 22; $arr2[$id] = "xxx"; var_dump($arr2); $id = "022"; $arr3[$id] = "xxx"; var_dump($arr3); $id = "2222222222222"; $arr4[$id] = "xxx"; var_dump($arr4);*/ //結論:key 能夠是 integer 或者 string。若是key是一個 integer 的標準表示,則被解釋爲整數(例如 "8" 將被解釋爲 8,而 "08" 將被解釋爲 "08")。key 中的浮點數被取整爲 integer。 #用於匹配html文件裏的<img/> /*$imgstr = '<img class="home-thumb" src="http://www.daixiaorui.com/Public/images/random/20.jpg" width="140px" height="100px" alt="php源碼,小程序"/> <p><img src="http://www.daixiaorui.com/Public/uploads/20130727/chat2.jpg" style="border:1px solid #aaa;" alt="PHP+Ajax"/> <img src=\'http://www.daixiaorui.com/Public/images/random/20.jpg\' width="140px" height="100px" alt="php源碼,小程序"/></p> <img src=http://www.daixiaorui.com/Public/images/random/20.jpg />'; $regexp = '/<img\s+([^>]+)(\/>)/i'; preg_match_all($regexp,$imgstr,$res); echo '<pre>'; print_r($res); echo '</pre>';*/ #用於匹配html文件裏的<img/>的src的地址 /*$imgstr = '<img class="home-thumb" src="http://www.daixiaorui.com/Public/images/random/20.jpg" width="140px" height="100px" alt="php源碼,小程序"/> <p><img src="http://www.daixiaorui.com/Public/uploads/20130727/chat2.jpg" style="border:1px solid #aaa;" alt="PHP+Ajax"/> <img src=\'http://www.daixiaorui.com/Public/images/random/20.jpg\' width="140px" height="100px" alt="php源碼,小程序"/></p> <img SRC=http://www.daixiaorui.com/Public/images/random/20.jpg />'; $preg = '/(src|SRC)=(\"|\')?([^>]|[^\/>])+(\"|\')?/i'; preg_match_all($preg,$imgstr,$res); echo '<pre>'; print_r($res); echo '</pre>'; $str = 'asdsadsadsad撒大聲地'; $preg= '/[\x{4e00}-\x{9fa5}]+/u'; preg_match($preg,$str,$res); echo '<pre>'; print_r($res); echo '</pre>';*/ #php打印前一天的時間格式是 Y-m-d H:i:s //print(date('Y-m-d H:i:s',time()-3600*24)); //print(date('Y-m-d H:i:s',strtotime('-1 day'))); #求兩個日期的差數,例如2011-2-5 ~ 2011 -3-6 // 方法一echo round(abs(strtotime('2011-3-6')- strtotime('2011-2-5'))/3600/24); function date_cha($date1,$date2){ $year1 = (int)substr($date1,0,4); $year2 = (int)substr($date2,0,4); //echo $year1,'---',$year2; $mon1 = (int)substr($date1,strpos($date1,'-')+1,1); $mon2 = (int)substr($date2,strpos($date2,'-')+1,1); //echo $mon1; $day1 = (int)substr($date1,-1); $day2 = (int)substr($date2,-1); //echo $day1; is_run($year1)?$sum_1=nowday($mon1,$day1)+1:$sum_1=nowday($mon1,$day1); is_run($year2)?$sum_2=nowday($mon2,$day2)+1:$sum_2=nowday($mon2,$day2); //echo $sum_1; $res = abs($sum_1-$sum_2); return $res; } function is_run($year){//判斷是不是閏年 if((($year%4 == 0) && ($year%100 != 0)) || ($year %400 == 0)){ return true; }else{ return false; } } function nowday($mon,$day){//計算這是這一年的哪一天 $sum = 0; switch($mon){ case 1:$sum = 0;break; case 2:$sum = 31;break; case 3:$sum = 59;break; case 4:$sum = 90;break; case 5:$sum = 120;break; case 6:$sum = 151;break; case 7:$sum = 181;break; case 8:$sum = 212;break; case 9:$sum = 243;break; case 10:$sum = 273;break; case 11:$sum = 304;break; case 12:$sum = 324;break; } $sum += $day; return $sum; } echo date_cha('2011-3-6','2011-2-5');/* 關於這個的第二個解法 我只解出了相同年的日期 */