PHP全棧學習筆記6

PHP全棧學習筆記6
php能做什麼,它是執行在伺服器端的,web網站大部分資料都是儲存在伺服器上的,PHP就是用來處理這些儲存在伺服器的資料。跨平臺,伺服器可以是多種平臺上的伺服器,指令碼語言,免費。
wampserver整合環境開發包:
windows apache mysql php

image.png

image.png

image.png
修改埠apache,httpd.conf

image.png
<?php $var_name = "蘋果"; $n =10; var_dump($var_name); var_dump($n); ?>

image.png
變數名區分大小寫
通過使用“memory_get_usage”獲取當前PHP消耗的記憶體
<?php $man = "男"; $flag = $man == "男"; echo $flag ; echo "<br />" ; var_dump($flag); ?>

image.png

image.png

image.png

image.png

image.png

image.png

image.png
<?php $file=fopen("f.txt","r");//開啟檔案 $con=mysql_connect("localhost","root","root");//連線資料庫 $img=imagecreate(100,100);//圖形畫布 ?>

image.png

image.png

image.png
系統常量:
__FILE__ :php程式檔名 __LINE__ :PHP程式檔案行數 PHP_VERSION:當前解析器的版本號 PHP_OS:當前PHP版本的作業系統名稱

image.png

image.png

image.png
PHP中提供了一個錯誤控制運算子“@”

image.png

image.png

image.png
<?php foreach (陣列 as 值){ //執行的任務 } ?> <?php foreach (陣列 as 下標 => 值){ //執行的任務 } ?>

image.png

image.png

image.png

image.png
提示助手:
alt+/
跳轉末尾:
end
全域性搜尋:
ctrl+h
檢視快捷鍵
ctrl+shift+l

image.png
上傳到伺服器

image.png
svn外掛

image.png

image.png
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()

image.png
函式值傳遞與引用傳遞
傳遞型別:數值,物件,字串,陣列:
值傳遞: function sum($a, $b){ return $a+$b; } 引用傳遞: function swap(&$a,&$b){ $tmp = $a; $a = $b; $b = $tmp; }
函式變數作用域

image.png

image.png
區域性變數,全域性變數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在引入之前會進行檢查,如果已經引入了就不會再進行引入,就是說保證只引入一次,避免重複引入

image.png
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[""]
第一種方法不操作原始變數
第二張會操作原始變數

image.png
- 值傳遞不帶&號,不能通過函式改變原來的值,因為是不同的記憶體空間,引數傳遞帶&號,可以通過函式改變他的值,引用的是同一個記憶體空間
- 在函式中可以通過$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個位元組。

image.png

image.png

image.png

image.png
判斷大小端的demo

image.png

image.png

image.png
日期時間函式庫
設定時區:date.timezone
通過date_default_timezone_set()動態設定時區
通過ini_set()動態設定時區

image.png
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 外掛的使用

image.png

image.png
結言
好了,歡迎在留言區留言,與大家分享你的經驗和心得。
感謝你學習今天的內容,如果你覺得這篇文章對你有幫助的話,也歡迎把它分享給更多的朋友,感謝。
感謝!承蒙關照!您真誠的讚賞是我前進的最大動力!

image

image