Ⅰ php學習筆記(一):基本語法之標記、空白、和注釋
一、PHP
標記
1、XML風格
復制代碼
代碼如下:
<?php
echo
"hello
world";?>
2、簡短風格
復制代碼
代碼如下:
<?
echo
"hello
world";
?>
3、script
風格
復制代碼
代碼如下:
<script
language="php">echo
"hello
world";</script>
二、PHP
注釋
1、單行注釋:
//
(C++風格)
2、多行注釋:/*
*/
(C風格)
3、單行腳本注釋:#
(shell風格)
Tips:注釋一般寫在代碼上面
三、PHP
空白
1、空白間隔符
換行(回車)、空格、Tab(製表符)
2、約定習俗
代碼片段(2行)、類(2行)、函數(1行)、函數變數與第一條語句(1行)、注釋前(1行)
Ⅱ PHP 正則表達式總結
PHP 正則表達式總結
1.PHP中兩個常用的正則函數
a.preg_match 正則函數,以perl語言為基礎
語法:preg_match( mode,string subject,array matches)
說明:mode參數---- 正則的模塊,也就是正則表達式(語法)
subject參數---- 正則的內容
matches參數---- 正則的結果(獲得一個數組的形式)
b.ereg 正則函數,以POSIX基礎(Unix、Script)
語法:ereg(mode ,string subject, array regs)
2.正則表達式中包括的元素
a.原子(普通字元:a-z A-Z 0-9 、原子表、轉義字元)
b.元字元(有特殊功能的字元,如:# 、*)
c.模式修正符(系統內置部分字元 i、m、S、U ...)
3.正則表達式中的「原子」
a.a-z A-Z _ 0-9 //最常見的字元
b.(abc)(skd) //用圓括弧包含起來的單元符號(一個整體)
c.[abcs][^abd] //用方括弧包含的原子表,原子表中的^代表排除或相反的內容
d.轉義字元
d 包含所有的數字[0-9]
D 除所有數字外[^0-9]
w 包含所有英文字元[a-z A-Z 0-9]
W 除所有英文字元外[^a-z A-Z 0-9]
s 回車,換行等
......
註明: 圓括弧 必須是整體才能匹配; 方括弧 只要是其子集,都可以匹配(內容存在)
4.正則表達式元字元
* 匹配前一個內容的0次1次或多次
. 匹配內容的0次1次或多次,但不包含回車換行(代指自己,任何內容)
+ 匹配前一個內容的1次或多次
? 匹配前一個內容的.0次或1次
| 選擇匹配類似PHP中的| (因為這個運算符合是弱類型導致前面最為整體匹配,類似一個單詞匹配)
^ 匹配字元串首部內容
$ 匹配字元串尾部內容
b 匹配單詞邊界,邊界可以是空格或者特殊符合(有單詞分界符,類似空格)
B 匹配除帶單詞邊界意外內容(無單詞分界符)
{m} 匹配前一個內容的重復次數為M次
{m,} 匹配前一個內容的重復次數大於等於M次
{m,n} 匹配前一個內容的重復次數M次到N次
( ) 合並整體匹配,並放入內存,可使用1 2…依次獲取 (調用放入內存中的內容)
5.運算順序
依然遵循從左到→右的運算規則
優先順序:
( ) 圓括弧因為是內存處理所以最高
* ? + { } 重復匹配內容其次
^ $ b 邊界處理第三
| 條件處理第四
最後按照運算順序計算匹配
6.模式修正符
模式修正符是為正則表達式增強和補充的一個功能,使用在正則之外 例如:/ 正則 / U
常用修正符:
i 正則內容在匹配時候不區分大小寫(默認是區分的)
m 在匹配首內容或者尾內容時候採用多行識別匹配
s 將轉義回車取消是為單行匹配如. 匹配的時候
x 忽略正則中的空白
A 強制從頭開始匹配
D 強制$匹配尾部無任何內容 n
U 禁止貪婪匹配 只跟蹤到最近的一個匹配符並結束, 常用在採集程序上的正則表達式
7.匹配功能
preg_match_all 全部匹配函數
語法:preg_match_all ( string pattern, string subject, array matches [, int flags] )
說明:對結果排序使 $matches[0] 為全部模式匹配的數
用途:截取比較詳細的內容,採集網頁,分析文本
8.替換功能
preg_replace 正則替換函數
語法:preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
說明:通過正則表達式來替換相關內容,類似之前學過的str_replace字元串替換,但 功能要強於它
提示:1、替換內容可以是一個正則也可以是數組正則
2、替換內容可以通過修正符e來解決替換執行內容
用途:替換一些比較復雜的內容上,也可以用於內容的轉換上
9.分割功能
preg_split 正則切割
語法:preg_split ( string pattern, string subject [, int limit [, int flags]] )
說明:通過正則表達式來切割相關內容,類似之前學過的explode切割函數,但explode 只能按照一種方式切割有局限性。
;Ⅲ 在PHP中有哪些語法是初學者要掌握的天津PHP培訓
1、 PHP在WEB開發中的應用
·收集表單數據
·生成動態網頁
·字元串的處理
·動態輸出圖像
·處理伺服器端文件系統
·編寫資料庫支持的網頁
·回話跟蹤控制
·處理XML文件
·支持利用大量的網路協議
·伺服器端其他相關操作
2、 關於PHP腳本運行
·編寫的php腳本語言需要上傳至WEB伺服器的文檔根目錄下,通過瀏覽器訪問WEB伺服器管理下的php文件就可以運行PHP文件。但是,不能直接使用瀏覽器打開php文件,這樣沒有web伺服器區解析代碼,顯示的也是源代碼。
·在php文件中可以編寫html、css、javascript等語言,但需要使用起始符標記<?php和結束標記?>
3、 PHP語言標記
·<?php?>
·語句分為功能執行語句與結構定義語句
·功能執行語句後面一定要加分號,結構定義語句一定不要帶分號
·與?>這個標記最近的功能執行語句可以不加分號;建議功能執行語句都加分號
·如果?>是腳本語言的結束,那麼?>這個可以不加,建議不要加!很多函數(頭函數)的前面都不允許出現任何的空白,所以在使用require標記時,被包含的php文件結束後一定不要有空白,或者該php文件不加?>結束標記即可。
4、 PHP注釋方法
·單行注釋
//
·多行注釋
/* */ 多行注釋中不能包含單行注釋了
·腳本注釋
#
·文檔注釋
/** */
·注釋的功能:
(1) 寫過不合適的代碼需要注釋不能立即刪除
(2) 注釋可以用來寫幫助文檔,增強程序代碼的可讀性
(3) 注釋代碼可以用來調試程序
(4) 注釋要寫在代碼的上面或右邊
5、 在PHP程序中使用空白符
·空白:空格 tab 換行
·空白符可以增強代碼的可讀性
6、 變數
變數在任何編程語言中都居於核心地位,理解他們就是使用PHP的關鍵所在。
·變數時用於臨時存儲值的容器。
·變數是指在程序運行過程中隨時可以發生變化的量,是程序中數據的臨時存放場所。
·變數可以保存程序運行時用戶輸入的數據,特定運算的結果以及要輸出到網頁上顯示的一段數據等。
總之,變數是用於跟蹤幾乎所有類型信息的簡單工具。
7、 申明變數
·當一個數據需要用到多次時,就可以申明變數。
·申明方式:$變數名=值
·變數的類型是由存儲的值來決定的,申明前不指定類型
·可以連續申明多個變數,例如:$a=$b=$c=$d=」value」.
·isset(); 判斷變數是否存在的函數
·unset(); 刪除(釋放)一個變數的函數。
8、 變數命名
·變數前一定要使用「$」,申明和使用都要有這個符號
·變數名不能以數字開頭
·不能使用php的運算符號,例如:+-*/%&|等
·php可以使用系統關鍵字作為變數名,這其他語言不同的地方
·php變數區分大小寫的,只有變數與常量區分大小寫,其他的不區分(php功能標簽,例如:echo可以寫成ECHO或ecHo等)
·變數名在項目程序中要有意義
·命名習慣:用英文單詞命名時,第一個英文小寫,以後的單詞第一個字母大寫,其他的小寫,例如:aaaBbbCcc。
9、 可變變數(用到比較少)
·一個變數的變數名可以動態地設置和使用
<?php
$one=」###」;
$two=」one」;
$three=」two」;
$four=」three」;
Echo $four.」
」;
Echo $$four.」
」;
Echo $$$four.」
」;
Echo
four.」
」;
?>
輸出結果為:
three
two
one
###
10、 變數的引用賦值
·使用一個&加到要賦值的變數前面(原變數),例如:$a=&$b;
11、 變數的類型
·PHP中有8種變數類型:四種標量+二種復合類型(可以放多個值的變數)+二種特殊類型
·4種標量:整型、布爾型、浮點型、字元串
·2種復合類型:數組+對象
·2種特殊類型:資源類型+null
·var_mp(); 該函數既可以看到變數類型與值
Ⅳ Php學習從入門到精通需要學習哪些內容呢
PHP,即「PHP:HypertextPreprocessor」,是一種山消被廣泛應用的開源通用腳本語言,尤其適用於Web開發並可嵌入HTML中去。它的語法利用了C、和Perl,易於學習。那麼北京電腦培訓介紹Php學習從入門到精通需要學習哪些內容呢?
從學習Php內容上大致可以分為五個階段:
第一階段:掃盲。了解什麼是B/S模式,原理上知道從瀏覽器輸入一個url是如何獲取到信息的流程。熟悉html,能快速地用div+css寫出靜態頁面,熟悉js,掌握jquery。
第二階段:PHP基礎語法。掌握基本的語法,弄明白什麼是變數、常量、數據類型、熟悉逗乎知常用的函數。PHP的函數庫特別豐富,不可能全部都記住,但至少要將手冊上的常用函數都練習過幾遍,以後需要用到時才有印象。
第三階段:資料庫,WEB伺服器的學習。PHP的最佳搭檔是:Mysql(資料庫),Apache(web伺服器),對於Apache,平時操作得比較少,懂得其頃啟配置即可。而Mysql則特別重要。初期懂得如何用PHP操作Mysql進行增刪改查,了解常用的Mysql優化原則,能使用PHP+Mysql寫出簡單的留言板頁面。
第四階段:PHP深化。掌握Ajax非同步傳輸,學習面向對象,學習MVC框架並掌握流行的PHP框架,如Yii框架,國內的ThinkPHP框架,形成良好的編碼習慣。能快速用框架開發網站。
第五階段:大型網站的優化技術:如頁面靜態化,Memcached緩存技術,MySql資料庫深度優化等。
以上五個階段僅是PHP初級到中級的水平,距離高級水平(充當WEB架構師)還有較遠的路要走。所以你就要選擇一家專業的Php培訓機構,可逆幫你事半功倍!
Ⅳ php類的語法說明
類是變數與作用於這些變數的函數的集合。使用下面的語法定義一個類:
<?php
class Cart { var $items; // 購物車中的物品
// 將 $num 個 $artnr 物品加入購物車
function add_item($artnr, $num) {
$this->items[$artnr] += $num;
} // 將 $num 個 $artnr 物品從購物車中取出
function remove_item($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num; return true;
} elseif
($this->items[$artnr] == $num) {
unset($this->items[$artnr]); return true;
} else {
return false; }
}
} ?>
上面的例子定義了一個 Cart 類,這個類由購物車中的商品構成的數組和兩個用於從購物車中添加和刪除商品的函數組成。
<?php
class test {
?>
<?php
function test() {
print 'OK'; }
}?>
但是以下用法是可以的:
<?phpclass test { function test() { ?> <?php print 'OK'; }}?>
在 php 4 中,var 變數的值只能初始化為常量。用非常量值初始化變數,需要一個初始化函數,該函數在對象被創建時自動被調用。這樣一個函數被稱之為構造函數(見下面)。
<?php/* php 4 中不能這樣用 */class Cart { var $todays_date = date(Y-m-d); var $name = $firstname; var $owner = 'Fred ' . 'Jones'; /* 不過包含有常量的數組可以 */ var $items = array(VCR, TV);}/* 應該這樣進行 */class Cart { var $todays_date; var $name; var $owner; var $items = array(VCR, TV); function Cart() { $this->todays_date = date(Y-m-d); $this->name = $GLOBALS['firstname']; /* etc. . . */ }}?>
類也是一種類型,就是說,它們是實際變數的藍圖。必須用 new 運算符來創建相應類型的變數。
<?php$cart = new Cart;$cart->add_item(10, 1);$another_cart = new Cart;$another_cart->add_item(0815, 3);?>
上述代碼創建了兩個 Cart 類的對象 $cart 和 $another_cart,對象 $cart 的方法 add_item() 被調用時,添加了 1 件 10 號商品。對於對象 $another_cart,3 件 0815 號商品被添加到購物車中。
$cart 和 $another_cart 都有方法 add_item(),remove_item() 和一個 items 變數。它們都是明顯的函數和變數。可以把它們當作文件系統中的某些類似目錄的東西來考慮。在文件系統中,可以擁有兩個不同的 README.TXT 文件,只要不在相同的目錄中。正如從為了根目錄訪問每個文件需要輸入該文件的完整的路徑名一樣,必須指定需要調用的函數的完整名稱:在 php 術語中,根目錄將是全局名字空間,路徑名符號將是 ->。因而,名稱 $cart->items 和 $another_cart->items 命名了兩個不同的變數。注意變數名為 $cart->items,不是 $cart->$items,那是因為在 php 中一個變數名只有一個單獨的美元符號。
<?php// 正確,只有一個 $$cart->items = array(10 => 1);// 不正確,因為 $cart->$items 變成了 $cart->$cart->$items = array(10 => 1);// 正確,但可能不是想要的結果:// $cart->$myvar 變成了 $cart->items$myvar = 'items';$cart->$myvar = array(10 => 1);?>
在定義類的時候,無法得知將使什麼名字的對象來訪問:在編寫 Cart 類時,並不知道之後對象的名稱將會命名為 $cart 或者 $another_cart。因而你不能在類中使用 $cart->items。然而為了類定義的內部訪問自身的函數和變數,可以使用偽變數 $this 來達到這個目的。$this 變數可以理解為「我自己的」或者「當前對象」。因而 '$this->items[$artnr] += $num' 可以理解為「我自己的物品數組的 $artnr 計數器加 $num」或者「在當前對象的物品數組的 $artnr 計數器加 $num」。
Ⅵ php數組的基本語法 : PHP 數組
數組能夠在單獨的變數名中存儲一個或多個值。
實例
數組在單個變數中存儲多個值:
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
什麼是數組?
數組是特殊的變數,它可以同時保存一個以上的值。
如果您有一個項目列表(例如汽車品牌列表),在單個變數中存儲這些品牌名稱是這樣的:
$cars1="Volvo";
$cars2="BMW";
$cars3="SAAB";
不過,假如您希望對變數進行遍歷並找出特定的那個值?或者如果您需要存儲 300 個汽車品牌,而不是 3 個呢?
解決方法是創建數組!
數組能夠在單一變數名中存儲許多值,並且您能夠通過引用下標號來訪問某個值。
在 PHP 中創建數組
在 PHP 中, array() 函數用於創建數組:
array();
在 PHP 中,有三種數組類型:
索引數組 - 帶有數字索引的數組
關聯數組 - 帶有指定鍵的數組
多維數組 - 包含一個或多個數組的數組
PHP 索引數組
有兩種創建索引數組的方法:
索引是自動分配的(索引從 0 開始):
$cars=array("Volvo","BMW","SAAB");
或者也可以手動分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
下面的例子創建名為 $cars 的索引數組,為其分配三個元素,然後輸出包含數組值的一段文本:
實例
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
獲得數組的長度 - count() 函數
count() 函數用於返回數組的長度(元素數):
實例
<?php
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
?>
遍歷索引數組
如需遍歷並輸出索引數組的所有值,您可以使用 for 循環,就像這樣:
實例
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "
";
}
?>
PHP 關聯數組
關聯數組是使用您分配給數組的指定鍵的數組。
有兩種創建關聯數組的方法:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或者:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
隨後可以在腳本中使用指定鍵:
實例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
遍歷關聯數組
如需遍歷並輸出關聯數組的所有值,您可以使用 foreach 循環,就像這樣:
實例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "
";
}
?>
Ⅶ php中最基本的語法格式有些不懂
為了避免誤人子弟,我反復查閱資料,給出以下回答。
echo 實際上不是一個函數,它是一個命令,所以是不需要括弧的,但是PHP支持加上括弧的寫法。
參考:http://cn.php.net/manual/zh/function.echo.php
print 與 echo 是一樣的,毫無差別。PHP官方的解釋是,echo 比 print 快一點點。
參考:http://cn.php.net/manual/zh/function.print.php
print_r 是格式化輸出,它可以列印數組和對象。你用print列印一個數組將始終輸出array,而使用print_r將能輸出整個數組的結構。
參考:http://cn.php.net/manual/zh/function.printf.php
\n是換行符的意思,輸出後文本將被換行。還有 \r (回車符)、 \t (製表符)等這些不可視的字元。
你問的第三點好像寫錯了,應該是
$arr=array(10,1,5,2=>8,5=>15,18);
=> 運算符指示數組的元素值(參考:http://apps.hi..com/share/detail/19910637)
2=>8 的意思就是第二號元素的值為8,數組中原來第二號元素的值將被取代。
最終print_r($arr)的時候
Array
(
[0] => 10
[1] => 1
[2] => 8
[5] => 15
[6] => 18
)
下標為 2 的元素值 5 被 8 取代,4 下標被 5=>15 強制跳過。
Ⅷ php基礎知識點
php基礎知識點
PHP是一種非常流行的開源伺服器端腳本語言,下面我整理了php基礎知識點,希望對大家有幫助!
定義和用法
strrev() 函數反轉字元串。
語法
strrev(string)
參數 描述
string 必需。規定要反轉的字元串。
echo和print都可以做輸出,不同的是,echo不是函數,沒有返回值,而print是一個函數有返回值,所以相對而言如果只是輸出 echo 會更快,而print_r通常用於列印變數的相關信息,通常在調試中使用。
print 是列印字元串
print_r 則是列印復合類型 如數組 對象
$arr = array('a','b','c');
foreach($arr as &$v){ }
print_r($arr);
結果:
Array ( [0] => a [1] => b [2] => c )
foreach($arr as $v){ }
print_r($arr);
結果:
Array ( [0] => a [1] => b [2] => b )
HTTP請求
請求方法(所有方法全為大寫)有多種,各個方法的解釋如下:
GET 請求獲取Request-URI所標識的資源
POST 在Request-URI所標識的資源後附加新的數據
HEAD 請求獲取由Request-URI所標識的資源的響應消息報頭
PUT 請求伺服器存儲一個資源,並用Request-URI作為其標識
DELETE 請求伺服器刪除Request-URI所標識的資源
TRACE 請求伺服器回送收到的請求信息,主要用於測試或診斷
CONNECT 保留將來使用
OPTIONS 請求查詢伺服器的性能,或者查詢與資源相關的選項和需求
HTTP響應也是由三個部分組成,分別是:狀態行、消息報頭、響應正文
1、狀態行格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
其中,HTTP-Version表示伺服器HTTP協議的版本;Status-Code表示伺服器發回的響應狀態代碼;Reason-Phrase表示狀態代碼的`文本描述。
狀態代碼有三位數字組成,第一個數字定義了響應的類別,且有五種可能取值:
1xx:指示信息--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進行更進一步的操作
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:伺服器端錯誤--伺服器未能實現合法的請求
常見狀態代碼、狀態描述、說明:
200 OK //客戶端請求成功
400 Bad Request //客戶端請求有語法錯誤,不能被伺服器所理解
401 Unauthorized //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用
403 Forbidden //伺服器收到請求,但是拒絕提供服務
404 Not Found //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //伺服器發生不可預期的錯誤
503 Server Unavailable //伺服器當前不能處理客戶端的請求,一段時間後可能恢復正常
eg:HTTP/1.1 200 OK (CRLF)
2、響應報頭後述
3、響應正文就是伺服器返回的資源的內容
Ⅸ php要學哪些東西學習php需要掌握哪些東西
PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql資料庫設計表、mysql資料庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux伺服器。x0dx0a下面參考雷雪松的個人博客學習PHP的路線和一些方法。x0dx0a1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很復雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。x0dx0a2、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。x0dx0a3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。x0dx0a4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是干什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。x0dx0a5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。x0dx0a6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該准備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習。