PHP 常用函式(陣列/字串/時間...)
阿新 • • 發佈:2018-12-24
數組合並
//array_merge 陣列使用字串鍵名,相同的鍵名會被後面的覆蓋 //array_merge 陣列使用數字鍵名,鍵名相同不會覆蓋,且鍵名會重新索引 $arr1 = ['7'=>'c','5'=>'b','2'=>'d']; $arr2 = ['2'=>'c','4'=>'d']; $arr = array_merge($arr1,$arr2); 結果: Array ( [0] => c [1] => b [2] => d [3] => c [4] => d ) $arr1 = array('name'=>'zhan'); $arr2 = array('name'=>'terry'); $result = array_merge($arr1, $arr2); 結果:Array( [name] => terry ) //使用 “+” 運算符合並陣列,可以保留陣列的鍵值,如果合併的陣列中含有相同的鍵值,後面的不會覆蓋前面的鍵值(前面的優先)。 $arr1 = ['7'=>'c','5'=>'b','2'=>'d']; $arr2 = ['2'=>'c','4'=>'d']; $arr = $arr1+$arr2; 結果:Array ( [7] => c [5] => b [2] => d [4] => d )
字串
//實體轉html標籤 $str = "<p>safd </p>"; $str = htmlspecialchars_decode($str); echo $str.'<br>'; //html標籤轉實體 $str = "<p>safd </p>"; $str= htmlspecialchars($str); echo $str.'<br>'; //字串長度 $str = "中國abc"; echo strlen($str); //9 echo "<br>"; echo mb_strlen($str);//5
獲取時間戳
//獲取上週的開始時間UNIX時間戳 $t=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y')); echo date("Y-m-d H:i:s",$t); //獲取上週結束時間UNIX時間戳 $t=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y')); echo date("Y-m-d H:i:s",$t); //獲取昨天開始時間 $t=mktime(0,0,0,date('m'),date('d'),date('Y')); echo "今天:".date("Y-m-d")."<br>"; echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>"; echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>"; echo "一週後:".date("Y-m-d",strtotime("+1 week")). "<br>"; echo "一週零兩天四小時兩秒後:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "<br>"; echo "下個星期四:".date("Y-m-d",strtotime("next Thursday")). "<br>"; echo "上個週一:".date("Y-m-d",strtotime("last Monday"))."<br>"; echo "一個月前:".date("Y-m-d",strtotime("last month"))."<br>"; echo "一個月後:".date("Y-m-d",strtotime("+1 month"))."<br>"; echo "十年後:".date("Y-m-d",strtotime("+10 year"))."<br>";
合併一個二維陣列相同項,數量則相加
//.將usre_id看成唯一 合併一個二維陣列相同項,數量則相加
$arr = array(
array(
'user_id' => 100,
'goods_id' => 10,
'number' => 1,
),
array(
'user_id' => 100,
'goods_id' => 10,
'number' => 2,
),
array(
'user_id' => 100,
'goods_id' => 10,
'number' => 2,
),
array(
'user_id' => 100,
'goods_id' => 10,
'number' => 2,
),
);
$item=array();
foreach($arr as $k=>$v){
if(!isset($item[$v['user_id']])){
$item[$v['user_id']]=$v;
}else{
$item[$v['user_id']]['number']+=$v['number'];
}
}
print_r($item);