天天看點

PHP學習6——常用函數字元串處理函數時間和日期處理函數

主要内容:

  1. 字元串處理函數
  2. 時間和日期處理函數

echo輸出字元串

print輸出字元串,帶傳回值1

print.php

<?php
	var_dump(print("有傳回值的<br/>"));
?>
      

 輸出

有傳回值的
int(1)
      

die($status)輸出字元串,并退出腳本

die.php

<?php
	isset($a)|| die('$a未定義,程式退出!');
	echo '$a已經定義,程式繼續執行';
?>
      

  輸出

$a未定義,程式退出!
      

printf()格式化輸出,占位符為序号+$,%表示格式化輸出,d十進制,s字元串,f浮點數

printf.php

<?php
	printf('輸出第2個元素為:%2$s<br/>','this','is','apple');
	//雙引号中$前面+\
	printf("輸出第3個數為:%3\$d<br/>",10,5,20);
?>
      
輸出第2個元素為:is
輸出第3個數為:20
      

其他方法

  • sprintf()将格式化字元串傳回給一個變量
  • trim()從字元串2邊删除預定義字元
  • htmlspecialchars()把一些預定義字元轉換為html實體,這個方法很重要,在送出表單的時候,可以防止xss(cross-site scripting)跨站攻擊

提示:跨站點腳本(Cross-site scripting,XSS)是一種計算機安全漏洞類型,常見于 Web 應用程式。

XSS 能夠使攻擊者向其他使用者浏覽的網頁中輸入用戶端腳本。

 htmlspecialchars() 函數把特殊字元轉換為 HTML 實體。這意味着 < 和 > 之類的 HTML 字元會被替換為 &lt; 和 &gt; 。

這樣可防止攻擊者通過在表單中注入 HTML 或 JavaScript 代碼(跨站點腳本攻擊)對代碼進行利用。

unix時間戳,表示格林威治時間,從1970年1月1日0時0分0秒起到現在的總秒數。

mktime.php

<?php
	echo mktime(1,0,0,01,01,1970);
?>
      

  輸出:0

還有一個time(),不帶任何參數,傳回目前時間戳,

time.php

<?php
	echo time();
?>
      

  輸出:1533537715

getdate()傳回目前的時間資訊,是傳回一個數組,使用print_r()輸出

getdate.php

<?php
	print_r(getdate());
?>
      
Array ( [seconds] => 33 [minutes] => 45 [hours] => 8 [mday] => 6 [wday] => 1 [mon] => 8 [year] => 2018 [yday] => 217 [weekday] => Monday [month] => August [0] => 1533537933 )
      

date("Y-m-d H:i:s")日期的格式化輸出

date.php

<?php
	echo date("Y-m-d H:i:s");
?>
      
2018-08-06 08:49:23
      

date_default_timezone_set("PRC")設定預設時區

date_default_timezone_set.php

<?php
	echo date("Y-m-d H:i:s");
	echo "<br/>";
	//設定為中原標準時間
	date_default_timezone_set("PRC");
	echo date("Y-m-d H:i:s");
?>
      
2018-08-06 08:53:33
2018-08-06 14:53:33
      

microtime(true)傳回程式級别的操作時間

microtime.php

<?php
	$a=microtime(true);
	for($i=0;$i<1000000;$i++){
		$x=10;
	}
	$b=microtime(true);
	$c=($b-$a);
	
	echo $c." sec";
?>
      
0.021001100540161 sec