【风马一族_php】NO4_php基础知识
?原文來自:http://www.cnblogs.com/sows/p/6017018.html(博客園的)風(fēng)馬一族 侵犯版本,后果自負
?
回顧
運算符:算術(shù)運算符、邏輯運算符、比較運算符、位運算符、賦值運算符、字符串運算符、自操作運算符、錯誤抑制符、三元運算符
位:二進制、原碼、反碼、補碼
流程控制:順序、分支、循環(huán)
分支結(jié)構(gòu):if分支 和 switch分支
switch:每個case最后面都會跟上break
switch:適合固定值的處理,不適合條件運算處理
if :?適合處理條件運算方面的處理
循環(huán)結(jié)構(gòu):for?、 while?、 do-while?、 foreach
` 函數(shù):系統(tǒng)函數(shù)和自定義函數(shù)
調(diào)用:函數(shù)名(),系統(tǒng)一旦碰到一個值后面跟了括號,系統(tǒng)就會把內(nèi)存里的內(nèi)容讀出來,當做函數(shù)去執(zhí)行
定義函數(shù):function 函數(shù)名(形式參數(shù)列表) {?
//函數(shù)休
? //返回值
}
function myfunc($name) {?//函數(shù)體 }
myfunc($name,$age,$sex......);?? //PHP支持實際參數(shù)比形式參數(shù)數(shù)量多,多余的部分,系統(tǒng)放棄了使用,而只獲取形參對應(yīng)的數(shù)量,對應(yīng)的位置 ?
參數(shù)傳遞:值傳遞,引用傳遞
值傳遞:將外部變量的值,復(fù)制一份,賦值給形參
引用傳遞:將外部變量所指向的內(nèi)存空間的地址,賦值給形參
function myfunc(&$name){?//函數(shù)體 }?????? //添加?地址符 &
myfunc($name) //不能使用地址符&
作用域:全局作用域和局部作用域
全局作用域:函數(shù)外部可以使用
局部作用域:函數(shù)內(nèi)部使用
函數(shù)內(nèi)部使用外部變量:$GLOBALS("變量名"),global關(guān)鍵字
=============================================================
任務(wù)
計算器
1 ========================================= 2 html 使用表單,做出來基本的計算器的界面 3 ========================================= 4 <html> 5 <head> 6 <meta http-equiv="content-type" content="text/html;charset=utf-8"> 7 </head> 8 9 <body> 10 <form method="POST" action=""> 11 <input type="text" name="first" size="5"/> 12 <select name="opr"> 13 <option value="+">+</option> 14 <option value="-">-</option> 15 <option value="*">*</option> 16 <option value="/">/</option> 17 <option value="%">%</option> 18 </select> 19 <input type="text" name="second" size="5"/> 20 <span>=</span> 21 <input type="text" /> 22 <input type="submit" nam="submit" value="提交" /> 23 </form> 24 </body> 25 26 27 ========================================= 28 使用PHP計算表單提交的內(nèi)容 29 ========================================= 30 <html> 31 <head> 32 <meta http-equiv="content-type" content="text/html;charset=utf-8"> 33 </head> 34 <?php 35 //PHP計算器 36 //可以輸入兩個數(shù)值,可以選擇操作符號,返回計算結(jié)果 37 //要在當前直接顯示結(jié)果,還要保護用戶的操作 38 39 if(!isset($_POST['submit'])){ 40 //直接訪問 41 }else{ 42 //提交數(shù)據(jù),進行運算 43 $first = $_POST['first']; 44 $second = $_POST['second']; 45 $opr= $_POST['opr']; 46 47 //計算結(jié)果,先初始化為0 48 $res=0; 49 50 //根據(jù)操作符來計算結(jié)果 51 switch($opr){ 52 case '+': 53 $res= $first + $second; 54 break; 55 case '-': 56 $res= $first - $second; 57 break; 58 case '*': 59 $res= $first * $second; 60 break; 61 case '/': 62 $res= $first / $second; 63 break; 64 case '%': 65 $res= $first % $second; 66 break; 67 } 68 } 69 ?> 70 <body> 71 <form method="POST" action=""> 72 <input type="text" name="first" size="5" value="<?php echo isset($first)?$first:''; ?>" /> <--!PHP語句的作用:提交后,顯示用戶輸入的數(shù)據(jù) --> 73 <select name="opr"> 74 <option value="+" <?php echo isset($opr)?(($opr=='+')?'selected="selected"':''):''?>>+</option> 75 <option value="-" <?php echo isset($opr)?(($opr=='-')?'selected="selected"':''):''?>>-</option> 76 <option value="*" <?php echo isset($opr)?(($opr=='*')?'selected="selected"':''):''?>>*</option> 77 <option value="/" <?php echo isset($opr)?(($opr=='/')?'selected="selected"':''):''?>>/</option> 78 <option value="%" <?php echo isset($opr)?(($opr=='%')?'selected="selected"':''):''?>>%</option> 79 </select> 80 <input type="text" name="second" size="5" value="<?php echo isset($second)?$second:''; ?>" /> <--!PHP語句的作用:提交后,顯示用戶輸入的數(shù)據(jù) --> 81 <span>=</span> 82 <input type="text" readonly disabled size="5" value="<?php echo isset($res)?$res:''; ?>" /> <!--readonly 只讀(禁止輸入) disabled 失去光標--> <--!PHP語句的作用:提交后,顯示運算的結(jié)果 --> 83 <input type="submit" name="submit" value="提交" /> 84 </form> 85 </body> 86 87 ============================================= 88 PHP語句說明 89 90 //提交數(shù)據(jù)后,運算符會默認選擇第一個符號 91 //為了讓提交數(shù)據(jù),顯示用戶提交時選擇的運算符,而使用selected="selected" 92 //本程序主要使用PHP來編寫計算器,因此使用如下語句,【可以使用JS等來實現(xiàn),也是允許】 93 <?php echo isset($opr)?(($opr=='+')?'selected="selected"':''):''?> 94 95 //從php中,接收php運算的結(jié)果 96 value="<?php echo isset($res)?$res:''; ?>" 97 php--計算器
九九乘法
1 <?php 2 //函數(shù)內(nèi)進行乘法法則的運算 3 function calculator($rows){ 4 for($row=1;$row<=$rows;++$row){ 5 for($col=1;$col<=$row;++$col){ 6 echo "$row * $col = ".($row*$col)."\t"; 7 } 8 echo "<br />"; 9 } 10 } 11 12 //調(diào)用函數(shù),傳遞的行數(shù)為12[大于0的整數(shù)] 13 calculator(9); 14 ?> 15 16 結(jié)果(示例) 17 1 * 1 = 1 18 2 * 1 = 2 2 * 2 = 4 19 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 20 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 21 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 22 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 23 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 24 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 25 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 php--九九乘法
?
?
=============================================================
匿名函數(shù)
定義:沒有名字的函數(shù)
語法:變量名 = function(參數(shù)列表) {//函數(shù)體};
問題:1、沒有名字的函數(shù)如何定義???
函數(shù)的定義在編輯階段,會被系統(tǒng)存放到代碼區(qū),會有一個內(nèi)存地址,需要通過變量來保存函數(shù)的內(nèi)存地址
? 2.沒有名字的函數(shù)如何調(diào)用
1.調(diào)用函數(shù)必須有括號,函數(shù)的調(diào)用實際是在棧里開辟內(nèi)存空間,把函數(shù)體給加載進來,逐行執(zhí)行。
2.通過變量保存的函數(shù)的內(nèi)存地址,來講函數(shù)給取出放到棧里
3.告訴系統(tǒng),取出來的數(shù)據(jù)是一個函數(shù),系統(tǒng)需要當做函數(shù)來處理,增加一個括號
?
匿名函數(shù)的作用?
1.是一種允許的語法結(jié)構(gòu)
2.一般是用于函數(shù)的參數(shù)(主要) ?
1 <?php 2 3 //定義匿名函數(shù),將函數(shù)賦值給變量 4 $name=function(){ 5 return "風(fēng)馬一族"; 6 }; 7 8 //調(diào)用匿名函數(shù) 9 echo $name(); 10 ?> php--匿名函數(shù)的使用示例
方法: 使用function(){//函數(shù)體} 定義函數(shù)
$name = function(){//函數(shù)體}; ? ? //將函數(shù)賦給變量,記得加上分號? ;
? $name(); ?? //給變量加上括號 ()? ,相當于讓系統(tǒng)承認它是一個函數(shù),而不是變量
=============================================================
偽類型
mixed : 說明一個參數(shù)可以接受多種不同的(但不一定是所有的)類型
例如: gettype() 可以接受所有的PHP類型? //獲取變量的類型?? http://php.net/manual/zh/function.gettype.php
str_replace()可以接受字符串和數(shù)組
number : 說明一個參數(shù)可以是integer 或者 float
callback : 回調(diào)類型
示例代碼
1 <?php 2 3 function myfunc($func_name,$name='東京'){ 4 5 $name .= '你好'; 6 7 $func_name($name); 8 } 9 10 function display($welcome){ 11 echo $welcome." you are sows"; 12 } 13 14 myfunc('display','淘寶'); 15 16 ?> php--回調(diào)示例代碼?
?
void:? 1 作為返回類型意味著函數(shù)的返回值是無用的。
? 2 作為參數(shù)列表意味著函數(shù)不接受任何參數(shù)
?????? ...? : 在函數(shù)原型中,$... 表示等等的意思,當一個函數(shù)可以接受任意個參數(shù)時使用此變量名
=============================================================
?可變函數(shù)
可變變量:將一個變量的值當做一個變量的名字,從而去獲取另個變量的值 $$變量名
可變函數(shù),通過一個變量,獲取其對應(yīng)的變量值,然后通過給該值增加一個括號(),讓系統(tǒng)認為該值是一個函數(shù),從而當作函數(shù)來執(zhí)行
?
1 <?php 2 3 function display(){ 4 //函數(shù)體 5 } 6 7 $var = 'display'; 8 9 $var(); 10 11 ?> php--可變函數(shù)的示例?
1 <?php 2 3 //自定義函數(shù) 4 function sows(){ 5 6 return "you are sows"; 7 } 8 9 //將自定義函數(shù)的名稱,賦給變量 10 $name="sows"; 11 12 //給變量添加(),讓系統(tǒng)來把變量,當作函數(shù)來使用 13 echo $name(); 14 ?> php--可變函數(shù)的使用示例?
=============================================================
數(shù)據(jù)類型轉(zhuǎn)換
指的是將數(shù)據(jù)(變量)的值轉(zhuǎn)換成目標數(shù)據(jù)類型
PHP中有兩種數(shù)據(jù)類型轉(zhuǎn)換方式:自動轉(zhuǎn)換、強制轉(zhuǎn)換
?
1. 自動轉(zhuǎn)換:系統(tǒng)根據(jù)操作所需要的類型將變量的值進行對應(yīng)類型的轉(zhuǎn)換
????????? 自動轉(zhuǎn)換都是系統(tǒng)本身所做的事情,不需要用戶去干預(yù)
2. 強制轉(zhuǎn)換: 根據(jù)具體的需求,將變量的值事先轉(zhuǎn)換成所需的數(shù)據(jù)類型
int? integer : 整型,將數(shù)據(jù)轉(zhuǎn)換成整型?
bool? Boolean: 將數(shù)據(jù)值換成布爾值
float : 轉(zhuǎn)換成浮點型
string : 轉(zhuǎn)換成字符型
array :轉(zhuǎn)換成數(shù)組類型
object : 轉(zhuǎn)換成對象類型
語法: (數(shù)據(jù)類型)變量
1. var_dump 把變量的類型及長度還有數(shù)據(jù)值都輸出
2. 通過函數(shù)gettype函數(shù),獲得數(shù)據(jù)的類型,返回一個字符串
疑問:為什么會兩種變量類型 , float? or double?
設(shè)置數(shù)據(jù)類型:settype($var,'類型') ? 《======》 ? (類型)$var;
示例
規(guī)則如下:
1.? 字符串只有以數(shù)值或者小數(shù)點開始的時候,系統(tǒng)才會有可能將字符串進行數(shù)值轉(zhuǎn)換,要不然直接轉(zhuǎn)換成0
2. 若出現(xiàn)一個英文句號,則把句號后面的數(shù)字視為小數(shù)部分
4. 只讀取前面連續(xù)的數(shù)值,沒有字母或者其他特殊字符
3. 只讀取一個句號
4.如果有小數(shù)點最終保留,那么數(shù)據(jù)類型變成浮點型,否則是整型
=============================================================
判斷數(shù)據(jù)類型
PHP提供了一些函數(shù)來判斷數(shù)據(jù)的類型,函數(shù)都是以is_開頭,后面跟數(shù)據(jù)類型。
如果是目標類型則返回true , 否則返回false;
//標量
is_scalar 檢測變量是否是一個標量
is_array ? 檢測變量是否是數(shù)組
is_bool?? 檢測變量是否是布爾型
is_float 檢測變量是否是浮點型
is_real 此函數(shù)是 is_float() 的別名函數(shù)
is_integer 檢測變量是否是整型
is_long 檢測變量是否是整型
is_finite 判斷是否為有限值
is_infinite 判斷是否為無限值
is_object 檢測變量是否一個對象
is_subclass_of 如果此對象是該類的子類,則返回 TRUE
is_numeric 檢測變量是否為數(shù)字或數(shù)字字符串
is_string 檢測變量是否是字符串
is_tainted 檢查字符串是否被污染(被修改)
?
//特殊
is_null 檢測變量是否是空值
is_resource 檢測變量是否為資源類型
?
//文件
is_writable 判斷給定的文件名是否可寫
is_file 判斷給定文件名是否為一個正常的文件
is_readable 判斷給定文件名是否可讀
is_uploaded_file 判斷文件是否是通過 HTTP POST 上傳的
is_link 判斷給定文件名是否為一個符號連接
is_dir 判斷給定文件名是否是一個目錄
is_executable — 判斷給定文件名是否可執(zhí)行
?
//無分類
is_callable 檢測參數(shù)是否為合法的可調(diào)用結(jié)構(gòu)
is_soap_fault? 檢查SOAP調(diào)用是否失敗
is_nan 判斷是否為合法數(shù)值
iis_set_app_settings 創(chuàng)建虛擬目錄的應(yīng)用程序作用域
示例? php是弱類型的,因此 1 相當true
?
文件包含
1.網(wǎng)站網(wǎng)頁的分層設(shè)計,將不同的數(shù)據(jù)(一些公共的顯示數(shù)據(jù)),整理出來,形成一個單獨的文件。只需要在其他html代碼界面中,需要用到的時候,直接包含(加載)。
案例
1. 所有內(nèi)容在一個頁面
?
1:所有內(nèi)容分成多個頁面存放
index.php
header.php footer.php
? ? ? ??
?
2.代碼的重用:PHP所寫的函數(shù)功能,類文件、配置文件等。在需要應(yīng)用這些代碼的時候,直接將文件給包含即可
語法: <?php include '文件的路徑'? ?>
文件包含 include、include_once、require、require_once,將一個文件的內(nèi)容包含進另外一個文件。
include、require 使用一次包含一次文件?
include_once、require_once 腳本中包含另個腳本多次,但只加載一次
include 語句包含并運行指定文件,若找不到文件,會提示警告,并繼續(xù)運行【E_WARNING】
require 語句包含并運行指定文件,若找不到文件,會提示錯誤,并終止運行【E_COMPILE_ERROR】
示例: include使用示例
? include出錯的表現(xiàn)
require的使用示例
? require出錯的表現(xiàn)
?
? 連接數(shù)據(jù)庫的示例
index.php? 主頁
public.php? 連接數(shù)據(jù)庫的指令
mysql.php 保存數(shù)據(jù)庫的連接信息
?
?文件的包含路徑
文件路徑有兩種:絕對路徑和相對路徑
絕對路徑:從磁盤根目錄到文件所在的目錄
相對路徑:文件相對當前文件所在的位置,相當一個參照物(一般就是文件 )
?
1.相對路徑表示方式:
./ :表示當前目錄
../? :表示上級目錄
? / ? :網(wǎng)站根目錄
2.文件嵌套包含
絕對路徑
好處:在文件嵌套包含中不會出現(xiàn)問題
壞處:修改文件位置時,需要修改文件的路徑
相對路徑
壞處:在文件嵌套包含中易出現(xiàn)問題
好處:文件路徑修改,比較簡單
注意:文件嵌套包含時,使用絕對路徑較佳
?
終止腳本執(zhí)行
終止腳本執(zhí)行,指的是通過一條語句告訴PHP引擎,此語句之后的其他語句不需要執(zhí)行。
PHP提供了三種方式來終止腳本執(zhí)行:return、die、exit
return : 執(zhí)行到該處退出,如果是在函數(shù)中,表示退出函數(shù),如果是在腳本中,表示腳本停止執(zhí)行。
函數(shù)的return是返回函數(shù)調(diào)用的地方,腳本的return是返回給腳本被包含的地方。
示例 return方式
======================
php04_index.php :包含文件,用來包含其它的文件
php03_return.php? :被包含,而且將自身資源返回給包含文件
==========================
die的方式
===========================
exit
===========================
基于以上可能,所以PHP的配置文件(項目配置文件:數(shù)據(jù)庫的連接信息信息等),采用以上方式
?
?系統(tǒng)函數(shù)
字符串函數(shù)
strlen: 計算字符串的長度
語法:strlen("字符串");
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str='You are sows'; 5 6 $name="我是中國人"; 7 8 var_dump(strlen($str)); 9 var_dump(strlen($name)); 10 11 ?> 12 13 ==================================== 14 結(jié)果: 15 int(12) //$str='You are sows'; 十個字母 = 兩個空格 =12 16 17 int(15) //$name="我是中國人"; 五個漢字 *3 =15 18 19 ==================================== 20 說明: 21 gbk | gb2312 編碼里, 中文占用兩個字節(jié) 22 23 utf-8 編碼里,中文占用三個字節(jié) php--strlen-計算字符串的長度?
==============
substr : 獲取字符串中的子字符串
語法:substr("字符串",截取的起始位置,截取長度); ? ? ? //截取長度需要根據(jù)編碼的字節(jié)占用量來考慮
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str='You are sows'; 5 6 $name="我是中國人"; 7 8 var_dump(substr($str,0,2)); 9 var_dump(substr($name,3,3)); 10 11 ?> 12 ========================== 13 結(jié)果: 14 string(2) "Yo" //截取的位置從0開始,字節(jié)長度為2 15 string(3) "是" //截取的位置從3開始,字節(jié)長度為3 16 17 ========================== 18 說明: 19 1. 字符串的字符位置:是從左到右用0開始計算 20 21 2. 一個字符在不同編碼規(guī)范中,占用字節(jié)數(shù)不同, 22 因此,截取長度需要根據(jù)編碼進行考慮。 23 例如:在ascll中截取5個字符,截住長度是5 24 在utf-8中截取5個字符,截取長度是15 25 26 php--substr-獲取子字符串?
==============
strtolower:將字符串轉(zhuǎn)化為小寫
語法:strtolower("字符串");
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str='You Are sows'; 5 6 var_dump(strtolower($str)); 7 8 ?> 9 10 結(jié)果: 11 string(12) "you are sows" //有大寫變小寫,沒有的,不用管 php--strtolower-大寫變小寫?
==============
strtoupper: 將字符串轉(zhuǎn)化為大寫
語法:strtoupper("字符串");
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str='You Are sows'; 5 6 7 8 var_dump(strtoupper($str)); 9 10 ?> 11 12 ============================== 13 結(jié)果: 14 string(12) "YOU ARE SOWS" //把小寫的部分轉(zhuǎn)成大寫 php--strtoupper-小寫轉(zhuǎn)成大寫?
==============
ucfirst :將字符串的首字母轉(zhuǎn)換為大寫
語法:ucfirst("字符串");
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str='you are sows'; 5 6 7 8 var_dump(ucfirst($str)); 9 10 ?> 11 12 ======================= 13 結(jié)果: 14 string(12) "You are sows" //適合處理英文的文章 php--ucfirst-首個字母轉(zhuǎn)成大寫?
==============
strrev :反轉(zhuǎn)字符串
語法:strrev("字符串");
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str='you are sows'; 5 6 $number="1234567890"; 7 8 $name = "我吃飯"; 9 10 var_dump(strrev($str)); 11 var_dump(strrev($number)); 12 var_dump(strrev($name)); 13 14 ?> 15 16 =================== 17 結(jié)果: 18 string(12) "swos era uoy" //反轉(zhuǎn) “you are sows” 19 20 string(10) "0987654321" //反轉(zhuǎn) “1234567890” 21 22 string(9) "��鄶呈�" //反轉(zhuǎn) “"我吃飯” 23 24 =================== 25 說明: 26 反轉(zhuǎn)是從右到左,一個字節(jié)為單位進行跳轉(zhuǎn)位置的 27 28 而字母、數(shù)字是以一個字節(jié)進行儲存的,因此,顯示出我們想要的結(jié)果, 29 30 而中文需要三個字節(jié)進行儲存的,與反轉(zhuǎn)的作法有所不利,于是,顯示所謂的亂碼 php--strrev-反轉(zhuǎn)?
==============
strrpos: 計算指定字符串在目標字符串中最后一次出現(xiàn)的位置
語法:strrpos("字符串","子字符串");
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str='you are sows'; 5 6 $str1='you are sows or are ceo'; 7 8 var_dump(strrpos($str,'are')); 9 10 var_dump(strrpos($str1,'are')); 11 12 ?> 13 14 ============================= 15 結(jié)果: 16 int(4) //'are'在'you are sows'中的,最后位置 17 18 int(16) //'are'在 'you are sows or are ceo'中的,最后位置 19 20 ============================= 21 說明: 22 一般不單獨使用,會其它代碼進行結(jié)合一起使用 php--strrpos-計算子字符串在字符串中的最后一個位置?
?
==============
strrchr:?根據(jù)(最后一次出現(xiàn)的)子字符串來截取后半字符串
語法:strrchr("字符串",'子字符串');
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str='you are sows'; 5 6 $str1='you are sows or are ceo'; 7 8 var_dump(strrchr($str,'o')); 9 10 var_dump(strrchr($str1,'are')); 11 12 ?> 13 14 ======================== 15 結(jié)果: 16 string(3) "ows" //截取'you are sows'中的 “ows” 17 18 string(7) "are ceo" //截取 'you are sows or are ceo' 19 20 ======================== 21 說明: 22 根據(jù)子字符串來截取后半部分的字符串 php--strtchr-根據(jù)子字符串來截取后半字符串?
==============
trim:去除字符串首尾處的空白字符(或者其他字符)
?
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 4 $str=' you are sows '; 5 6 var_dump(strlen($str)); 7 8 var_dump(trim($str)); 9 10 ?> 11 12 ==================== 13 結(jié)果: 14 int(16) //字符串原來的效果 15 16 string(12) "you are sows" //去除字符串的空格后效果 php--trim-去除語句前后多余的空格、柳式?
?
時間函數(shù)
php中時間通常用整型存儲
1. time : 得到當前時間的時間戳,是一個整型數(shù)據(jù)
語法: time();
1 <?php 2 echo time(); 3 ?> 4 5 ================= 6 結(jié)果: 7 1478138859 //動態(tài)的數(shù)值 8 9 ================= 10 這個時間戳 11 從 1970/01/01 00:00:00 開始計算 12 單位是:秒 php--time-時間戳?
================
2.設(shè)置時區(qū)
1.? date.timezone? :設(shè)置默認時區(qū) ?
2.? date_default_timezone_set : 設(shè)定用于一個腳本中所有日期時間函數(shù)的默認時區(qū)
語法:date_default_timezone_set("表示時區(qū)的字符串");
例子:date_default_timezone_set('PRC'); ? //中國時區(qū)
3.? date_default_timezone_get :取得一個腳本中所有日期時間函數(shù)所使用的默認時區(qū)?
================
3. date:時間戳按以一定的格式進行轉(zhuǎn)化
語法:date("格式化的關(guān)鍵字符",時間戳[可選]);
1 <?php 2 date_default_timezone_set('PRC'); //設(shè)置時區(qū),防止編譯器找不到時區(qū) 3 4 var_dump(date('y-m-d h:i:s')); 5 6 var_dump(date('y-m-d',time())); 7 8 var_dump(date('T')); 9 ?> 10 11 ================== 12 結(jié)果: 13 string(17) "16-11-03 10:29:58" //使用系統(tǒng)默認的時間戳,按年月日 時分秒的格式輸出 14 15 string(8) "16-11-03" //設(shè)置時間戳,按年月日的格式,輸出時間 16 17 string(3) "CST" //獲取當前的時區(qū) php--date-格式化時間?
================
4.strtotime:?將任何英文文本的日期時間描述解析為 Unix 時間戳
語法:strtotime("描述時間的語句");
1 <?php 2 date_default_timezone_set('PRC'); 3 4 var_dump(strtotime('2016-08-04')); 5 6 var_dump(strtotime('Saturday')); //星期六 7 8 var_dump(strtotime('tomorrow')); //明天 9 10 var_dump(strtotime('next month')); //下個月 11 12 ?> 13 14 ======================== 15 結(jié)果: 描述時間的語句轉(zhuǎn)化成時間戳表示 16 int(1470240000) 17 18 int(1478275200) 19 20 int(1478188800) 21 22 int(1480733304) php--strtotime-描述時間的語句轉(zhuǎn)成時間戳?
?
================
5.microtime: 返回當前 Unix 時間戳和微秒數(shù) ?? //有點問題
語法:microtime("")
1 <?php 2 date_default_timezone_set('PRC'); 3 4 var_dump(microtime('2016-08-04')); 5 6 var_dump(strtotime('2016-08-04')); 7 8 ?> 9 10 ===================== 11 結(jié)果: 12 float(1478141641.4529) // 13 14 int(1470240000) // 15 16 ===================== 17 提問: 整數(shù)部分。為什么不同 php--microtime-返回當前 Unix 時間戳和微秒數(shù)?
數(shù)學(xué)函數(shù)
abs: 絕對值
acos: 反余弦
acosh:反雙曲余弦
asin: 反正弦
asinh: 反雙曲正弦
atan: 反正切
atanh:反雙曲正切
atan2: 兩個參數(shù)的反正切
=================
base_convert: 在任意進制之間轉(zhuǎn)換數(shù)字
bindec: 二進制轉(zhuǎn)換為十進制
=================
ceil: 進一法取整
cos: 余弦
cosh: 雙曲余弦
=================
decbin: 十進制轉(zhuǎn)換為二進制
dechex: 十進制轉(zhuǎn)換為十六進制
decoct: 十進制轉(zhuǎn)換為八進制
deg2rad: 將角度轉(zhuǎn)換為弧度
=================
exp: 計算e的指數(shù)
expm1: 返回exp(nubmer) -1,甚至當number的值接近零也能計算出準確結(jié)果
=================
floor: 舍去法取整
fmod: 返回除法的浮點數(shù)余數(shù)
=================
getrandmax: 顯示隨機數(shù)最大的可能值
=================
hexdex: 十六進制轉(zhuǎn)換為十進制
hypot: 計算直角三角形的斜邊長度
=================
intdiv: 對除法結(jié)果取整
is_finite: 判斷是否為有限值
is_infinite: 判斷是否為無限值
is_nan: 判斷是否為合法數(shù)值
=================
lcg_value: 組合線性同余發(fā)生器
log10: 以10為底的對數(shù)
log1p: 返回log(1*number),甚至當number的值接近零也能計算出準確結(jié)果
log: 自然對數(shù)
=================
max: 找出最大值
min: 找出最小值
mt_getrandmax: 顯示隨機數(shù)的最大可能值
mt_rand: 生成更好的隨機數(shù)
mt_srand: 播下一個更好的隨機數(shù)發(fā)生器種子
=================
octdec: 八進制轉(zhuǎn)換為十進制
=================
pi: 得到圓周率值
pow: 指數(shù)表達式
=================
rad2deg: 將弧度數(shù)轉(zhuǎn)換為相應(yīng)的角度數(shù)
rand: 產(chǎn)生一個隨機整數(shù)
round: 對浮點數(shù)進行四舍五入
=================
sin: 正弦
srand: 播下隨機數(shù)發(fā)生器種子
=================
tan: 正切
tanh: 雙曲正切
=================
語法:數(shù)學(xué)函數(shù)(數(shù)字)?? //參數(shù)視函數(shù)而定,
例如: abs(-65456); ? //獲取 -65456的絕對值
pi();?? //獲取圓周率
1 <?php 2 $number = -3432; 3 4 var_dump(abs($number)); //取絕對值 5 6 var_dump(decbin($number)); //十進制轉(zhuǎn)換為二進制 7 8 var_dump(dechex($number)); //十進制轉(zhuǎn)換為十六進制 9 10 var_dump(decoct($number)); //十進制轉(zhuǎn)換為八進制 11 12 var_dump(is_nan($number)); //判斷是否為合法數(shù)值 13 14 15 ?> 16 17 =================== 18 結(jié)果: 19 int(3432) //取絕對值 20 21 string(32) "11111111111111111111001010011000" //十進制轉(zhuǎn)換為二進制 22 23 string(8) "fffff298" //十進制轉(zhuǎn)換為十六進制 24 25 string(11) "37777771230" //十進制轉(zhuǎn)換為八進制 26 27 bool(false) //判斷是否為合法數(shù)值 php--math-數(shù)學(xué)函數(shù)使用示例?
==================
?
轉(zhuǎn)載于:https://www.cnblogs.com/sows/p/6017018.html
總結(jié)
以上是生活随笔為你收集整理的【风马一族_php】NO4_php基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS10 CallKit简单开发
- 下一篇: php总结1 ——php简介、工作原理、