【嘉興東臣PHP】Apache php

   這周學習了php,在安裝完配置環境後,下面是所學知識點:php

1、php基礎

關於PHP標識:html

每個PHP是以 <?php 開頭 以 ?> 結尾jquery

注意:php文件裏是能夠寫HTML的。可是須要注意的是,不能寫在PHP的範圍內,也就是不能再<?php ?>內,只能在以外寫。好比 <?php echo 123; ?> <h1>123</h1>web

echo 是 PHP 輸出函數。 關於PHP輸出函數有如下幾種:json

一、echo  輸出基礎類型,如字符串 和 數字,bool等數組

二、print 同上,可是有返回值,1和0服務器

三、printf 也是輸出格式化字符串網絡

四、print_r 輸出集合類型,有必定規則。函數

五、var_dump 輸出集合類型,沒有規則學習

6 echo print 不會輸出bool類型

PHP變量是以$符號標識的。

注意:變量只能如下劃線_ 和大小寫字母開頭,在變量過程當中,只能有下劃線 大小寫字母 以及 數字。不要有空格!運算符等!正確:$a $ab $_ab錯誤: $1a $a b

在PHP中有通配符,%s 表明是匹配字符串類型,%u %d %i 都是匹配整型  %f 表明是匹配浮點類型 %.2f 表明是匹配浮點類型 保留2個小數。

printf() 和 sprintf()的區別:

printf() 返回的是 字符串 和 長度。

sprintf() 返回的是隻是格式化的字符串

如: sprintf("http://aiqiyi.com/%s", "尋龍訣");

變量賦值是指將一個變量的值給另外一個變量。如:

$a = 10;

$b = $a;

$b = 20;

echo $a;//10

echo $b;//20

引用賦值是指將一個變量的內存地址給另外一個變量,由於若是整個給內存地址的變量一旦發生改變,那麼另外一個變量立馬改變。

$a = 10;

$b = &$a;

$b = 20;

echo $a; //20

echo $b; //20

PHP中字符串鏈接 不用+ 用 .

函數做用域

在PHP中,全局變量改變,一般不會影響到局部變量,除非你必定要去使用全局變量。那麼請你一個關鍵字 叫作global。如:

$number = 1000;

funciton abc(){

     global $number;

     echo $number;

}

abc();

static 關鍵字通常用於靜態變量,而靜態變量的做用就是讓這個變量在不使用的時候 不會被釋放,而是長期保留。

PHP中 {}用於表示同時編譯括號內的變量,如:

$a = 10 ; echo {$$a};


PHP中的數據類型:

整型、浮點型、布爾型、字符串

數組、對象、資源類型、NULL


單引號和雙引號的區別:

雙引用會進一步解析內部的變量定義,而單引號則會直接輸出這個字符,由於理論上來講單引號快一些。


PHP中的數組、字典的關鍵字是array

如  $a = array(); //定義了一個空數組

$a = array( 1, 2, 3 ); //定義了一個數組有3個元素。

遍歷數組,第一種方法,count爲數組計數:

for( $i = 0 ; $i < count($a); $i++ ){

    echo $a[$i];

}

遍歷數組,第二種方法,foreach:

foreach( $a as $key ){

   echo $key;//$key名字爲變量名 隨便定義

}


字典:$a = array( "name" => "abc", "a" => "b");

在php的字典中 key => value 的形式存在的。

遍歷字典:

foreach( $a as $key => $value ){

      echo $key."-".$value;

}

2、php函數

   PHP函數很是強大

一、rand 隨機數。rand(最小值,最大值)

二、array_rand 隨機數組。提取數組中的任意一個元素。注意是提取下標array_rand(數組,提取數);

三、array_search 能夠快速找到數組或者字典中的某個值,返回下標,若是沒有找到返回的0或者false。

注意:這個函數由於會返回0,可是0在數組裏是有下標的,所以判斷的時候請用 恆等 === 

array_search( "查找的值", 集合 );

四、array_unique 給集合去重,若是發現重複的元素直接刪除 注意:它會把重複的值所有刪除,也就是的標會有不存在,由於建議用foreach 

五、unset(數組[下標]/字典[元素]) 移除集合裏的某個鍵值

$arr = array( 1, 2, 3 );

如: unset( $arr[0] );

      isset(數組[下標]/字典[元素]) 判斷某個下標或鍵值是否存在

六、die() 設置程序斷點,用於程序調試

七、array_unshift 在集合頭部插入一個或者多個單元。如:array_unshift( $arr , "a", "b" );

     array_push(數組,「」,「」) 在尾部插入一個或者多個元素。 也能夠用 數組[ ] = 元素。

八、array_pop(數組) 刪除集合最後一個元素。

九、array_shift (數組)刪除集合第一個元素。

十、implode 將數組以特殊符號,連接成字符串。

十一、explode 將字符串以特殊符號進行分割成數組。

十二、洗牌: shuffle( 數組 ) 數組打亂,注意它會將原數組打亂。

3、php語法增強

 set_time_limit();用於php腳本的執行時間 同等於在php.ini中的max_execution_time 默認執行30秒。

若是要設置成執行無限秒 set_time_limit( 0 );

sleep();用於暫停的秒數

換行:\n 用於腳本  <br/> 用於網頁

is_array($arr) 檢測變量是否爲數組

array_keys 返回集合的鍵

array_values 返回集合的值

in_array 判斷集合中是否有某個值,如in_array( "a",$arr); 返回的是布爾值。

array_key_exists 判斷數組中是否包含了某個鍵值,返回的是布爾值。

array_count_values 返回的是數組中,全部值出現的次數

在php中的變量比較,優先轉化成有同一類型的變量,優先轉化成整型,如:0 == "name" 那麼優先轉化"name" 爲0 所以 它們是相等的。

字符串中,轉化後若是判斷是浮點則直接用浮點跟整型比較一次。

sort() 升序 rsort() 倒序

判斷某個變量的數據類型用 is_類型

如:

is_string 判斷字符串

is_int 判斷整型

is_array 判斷數組

is_float 判斷浮點

轉化類型函數:

intval

floatval

strval

// 一般這種狀況下:浮點*整型(字符串等) 會有二進制的問題,

//所以,若是須要解決有2個渠道:

//一、在輸出以前用strval函數。

//二、請用round函數,功能是四捨五入

注意:在PHP中「a」+/-/*/ 「b」 都是須要轉化成整型或者字符串類型運算的。

強制轉化成整型通常都是從左往右查看,若是爲數字則保留,其餘的則直接爲0 

如:10a 強制轉化爲 10  , a10 強制轉化爲 0 

empty() 通常用於判斷集合是否爲空。

如:if( empty($arr) ) echo "集合爲空"; 

var_export 輸出或返回一個變量的字符串表示

經過將函數的第二個參數設置爲 TRUE,從而返回變量的表示。 

宏:define 至關於超級全局變量。

define( "參數名", 值);

如: define("A","Hello"); 

echo A; //注意這裏不要加$;

@ 忽略警告或者錯誤。繼續執行下面的

echo "Hello";

echo @(1/0); //加了@會自動忽略掉警告或者錯誤

echo "Hello";

整個程式輸出的是Hello Hello;

魔術方法

__FILE__ 當前文件的路徑

__LINE__ 定義的行數

__DIR__  當前文件的路徑 不包括這個文件名

如:

define( "FPATH" , __FILE__  );

define( "Line" , __LINE__  );

define( "DIR1", __DIR__ );

$global 申請使用或者定義 全局變量。

$_SERVER 打印當前服務器的詳細信息。

$_REQUEST 同時接收POST/GET方式請求

$_POST 接收POST方式請求

$_GET 接收GET方式請求

    global a://只是把當前的變量去引用了一塊兒全局變量

    $GLOBALS //直接返回的是一個數組,打印的是全局申請變量的值,包括$_GET $_POST.

 //var_export( $GLOBALS );

4、文件操做

一、函數參數默認值

 在php中參數是有默認值的,若是某個參數不傳值,那就直接執行默認值 如:function a( $a = 10 ){}

文件通常分有幾種路徑:

一、利用http訪問的路徑。

  通常用於webserver等網絡訪問某個文件。若是http://localhost/index.html 其實上就是訪問你在webserver配置文件下設置的根目錄下的index.html。若是你須要訪問根目錄下的某個文件夾裏的文件,請在訪問的時候,帶上文件夾的名字訪問。如:

http://localhost/文件夾名(不要中文)/index.html

二、利用file訪問的路徑。

  通常用於本地訪問,file是指找到本地的某個文件夾裏的文件。如:file://C://PHP/PHPWeb/jquery.1.8.0.js  

 注意:該種方法,通常用於簡單的頁面製做,布恩那個用於PHP開發和網絡開發。

路徑其實也分有兩種表示方式:

一、絕對路徑

  特指完整的路徑 在file中爲: file://c:/php/phpweb/index.html 。在http中引用某個文件爲: www.baidu.com/dev/jquery.js

二、相對路徑

  特指相對於當前目錄下,所引用的那個文件的路徑。如http下 引用某個文件  dev/jquery.js

二、json_encode 集合轉化爲json編碼格式。

三、json_decode(集合,true) json轉化爲數組、字典格式,若是不加true 可能會轉化爲OBJECT 對象格式。

die( 輸出語句 ); 斷點

exit( 輸出語句 );退出

四、文件操做

 一、is_writable 判斷是否可寫

  (file_exists 判斷文件是否存在)

 二、fopen  打開一個文件

 三、fread  讀取一個文件

 四、filesize  返回當前文件長度

 五、fwrite  寫入一個文件

 六、fclose 關閉一個文件

一、判斷文件是否可寫

二、打開一個文件。

三、讀或者寫一個文件

四、關閉一個文件

fopen 參數詳解

 r  read 只讀

 w  寫

 a  追加

 注意:寫會覆蓋!

總結:

        在學習php以前,安裝配置環境就用了好久,在老黃的指導下一步一步的安裝完,而後卸載本身從新安裝一遍,瞭解了php的工做原理。php的語法很精簡,看起來也是容易懂。練習仍是一如既往的沒有頭緒,只能靠老黃的優秀代碼增加本身。勤加練習,相信有一天會突破瓶頸的。

相關文章
相關標籤/搜索