php能作什麼,它是運行在服務器端的,web網站大部分數據都是存儲在服務器上的,PHP就是用來處理這些存儲在服務器的數據。跨平臺,服務器能夠是多種平臺上的服務器,腳本語言,免費。php
wampserver集成環境開發包:html
windows apache mysql php
修改端口apache,httpd.confmysql
<?php
$var_name = "蘋果"; $n =10; var_dump($var_name); var_dump($n); ?>
變量名區分大小寫jquery
經過使用「memory_get_usage」獲取當前PHP消耗的內存nginx
<?php $man = "男"; $flag = $man == "男"; echo $flag ; echo "<br />" ; var_dump($flag); ?>
<?php $file=fopen("f.txt","r"); //打開文件 $con=mysql_connect("localhost","root","root"); //鏈接數據庫 $img=imagecreate(100,100);//圖形畫布 ?>
系統常量:web
__FILE__ :php程序文件名 __LINE__ :PHP程序文件行數 PHP_VERSION:當前解析器的版本號 PHP_OS:當前PHP版本的操做系統名稱
PHP中提供了一個錯誤控制運算符「@」sql
<?php foreach (數組 as 值){ //執行的任務 } ?> <?php foreach (數組 as 下標 => 值){ //執行的任務 } ?>
提示助手:shell
alt+/
跳轉末尾:數據庫
end
全局搜索:apache
ctrl+h
查看快捷鍵
ctrl+shift+l
上傳到服務器
svn插件
php函數
$arr_num = array(2,3,7,12,4); $max_value = $arr_num[0]; foreach ($arr_num as $num) { if($max_value < $num){ $max_value = $num; } } echo $max_value;
函數結構:
構建函數:
function get_sum($a,$b){ return $a+$b; }
調用函數:
$sum = get_sum(3,4);
函數構成部分:
關鍵字:function
函數名,參數列表,函數體,返回體 return
函數名以字母或下劃線開頭。
函數的形參,默認值,強類型參數,可變數量的參數列表,值傳遞和引用傳遞,實參,變量的做用域,static靜態變量。
func_num_args() func_get_arg() func_get_args()
函數值傳遞與引用傳遞
傳遞類型:數值,對象,字符串,數組:
值傳遞:
function sum($a, $b){ return $a+$b; } 引用傳遞: function swap(&$a, &$b){ $tmp = $a; $a = $b; $b = $tmp; }
函數變量做用域
局部變量,全局變量global,靜態變量static
function test(){ static $a = 0; echo $a++; } test(); // 0 test(); // 1
可變函數
echo(), print(), unset(), isset(), empty(), include(), require()
$f = 'get_add'; echo $f();
include引入一個不存在的文件只會報出一個警告,程序繼續執行,而require引入一個不能存在的文件會致使一個致命的錯誤,程序結束運行,include_once和require_once在引入以前會進行檢查,若是已經引入了就不會再進行引入,就是說保證只引入一次,避免重複引入
require(‘func.php’);//致命錯誤當即中止
require_once()
include(‘function.php’);//只是拋出警告信息,不終止程序
set_include_path(‘引入文件名’);
path_separator 路徑分解符
restore_include_path() 取消路徑
引入include路徑
set_inlude_path(‘路徑’);,引入同一路徑下的多個文件時,這個函數能夠統一寫入路徑。
導入文件目錄下的全部文件:
set_include_path(get_include_path().PATH_SEPARATOP.'testa'); set_include_path(get_include_path().PATH_SEPARATOP.'testa'); include('test1.php'); include('test2.php');
導入testa文件下全部的文件
ini_set('include_path',get_include_path().PATH_SEPARATOP.'testa');
閉包:
function test($name, Closure $clo){ echo "hello,{$name}\n"; $clo(); } test("da",function(){ echo "dashucoding"; }); hello,dashucoding
閉包的兩種參數方式:
<?php $message="hello" $example = function($name) use($message){ echo $message,",",$name; }; $message = "hi"; $example("da"); // hi,da
閉包參數:
<?php $message = "hello"; $example = function() use(&message){ echo $message; }; $message="hi"; $example(); // hi
閉包匿名函數的說明,匿名函數也叫閉包函數,容許臨時建立一個沒有指定名稱的函數,經常使用做回調函數參數的值。
閉包函數,使用use()傳遞變量,值傳遞和引用傳遞均可使用。Closure 匿名函數(閉包)
遞歸函數
定義:
函數在它的函數體內調用它自身,這種函數稱爲遞歸函數
做用:
分解問題,調用自身
$GLOBALS使用示例:
$v1 =1; $v2 = 2; function test(){ $GLOBALS['v2'] = &$GLOBALS['v1']; } test(); echo $v2; // 1
靜態變量在當前做用域下不會失效,用於屢次訪問保存某個數據的值,可是注意靜態變量的值必定不能爲函數或者其餘東西,他必須是一個肯定的值
引用全局變
1 global variable
2 GLOBALS[""]
第一種方法不操做原始變量
第二張會操做原始變量
- 值傳遞不帶&號,不能經過函數改變原來的值,由於是不一樣的內存空間,參數傳遞帶&號,能夠經過函數改變他的值,引用的是同一個內存空間
- 在函數中能夠經過$global 來引用函數外的值,不過是開闢新的內存空間存儲
declare(strict_types=1);
表名該php頁面傳遞的實參若是與形參類型不一致,會出現致命性錯誤
強類型轉換,實參與形參類型不一致,會出現致命性錯誤
1.PHP7的新特性
2.PHP7與PHP5的區別
3.PHP7基本變量
4.PHP7基本變量的存儲與使用
結構體內存 8字節對齊,聯合體複用內存
char a 1 int b 4 long 8 viod* 8 int e 4 char* f 8
union_u{…}
這裏是聯合體 聯合體的大小爲8字節 內容和結構體同樣
可是不一樣之處它的變量是複用的 反覆在這8字節存儲
stuct_s{ //這裏是結構體 結構體的總大小是40字節
在內存裏是按字節對齊存放的 且小於4字節 的以4個字節的位置放置 單行大小爲8字節對齊 總體結構體以8個字節對齊
char a; //1字節
int b;//4字節
long c;//8字節
結構體是消耗內存的。
a佔了1個字節,會空出3個字節。而後b佔4個字節。
判斷大小端的demo
日期時間函數庫
設置時區:date.timezone
經過date_default_timezone_set()動態設置時區
經過ini_set()動態設置時區
header('content-type:text/html;charset=utf-8'); echo date_default_timezone_get(); date_default_timezone_set('Asia/Shanghai'); echo ini_get('date.timezone'); int_set('date.timezone','Asia/Shanghai');
if($year%4==0 && ($year%100!=0 || $year%400==0)){ echo '是閏年'; }else{ echo "不是閏年"; } date('L')?'是閏年':‘不是閏年’;
strtotime
strtotime
將任何英文文本的日期時間描述解析爲unix時間戳。
int strtotime(string $time [, int $now = time() ])
header('content-type:text/html;charset=utf-8');
這個是頭部的聲明:content-type表示文檔的類型,是text/html即,文本和網頁形式。
charset=utf-8,表示文本編碼格式,即utf-8編碼。
h5中的新增日期時間相關控件:
<form action="dashu.php' method="post"> <input type="date" name="datetime" id=""/><br> <input type="datetime-local" name="datetime" id=""/><br> </form>
日期控件插件:jquery datetimepicker插件
jquery timer plugin 插件的使用