一、何為php
php,即“php: hypertext preprocessor”,是一種廣泛應用的開源通用腳本語言,尤其適用於 web 開發並可嵌入 html 中去。它的語法利用了 c、java 和 perl,易於學習。該語言的主要目標是允許 web 開發人員快速編寫動態生成的 web 頁面,但 php 的用途遠不止於此。
簡單來說,就是php是一種腳本語言,可以做很多事。 ①伺服器端腳本 ②命令列腳本 ③編寫桌面程式
二、開始php
(1)下載php解釋器,其實win下面,最簡單的還是wamp這個軟體,下載下來什麼都有了...
(2)win下面貌似還需要,mscvr110.dll 這個連結庫,vc2012運作庫,安裝即可
(3)ide,無恥的使用了 phpstorm,等哥有錢了一定給你補回來, so...
user: newasp license: ===== license begin ===== 14617-12042010 00001xrvkhnpum!bd!vytgydcusnqt mm!hzwogg"dprwxzcbwsy8t91o7mru nvhtrbzv8o9mmolvtijchsse7i5jr! ===== license end ====
三、入門引導
(1)簡單的輸出
<?php /** * created by phpstorm. * user: lenovo * date: 2014/9/28 * time: 14:51 */ // 输出php详细信息 echo phpinfo(); //c:\php-5.6.1-win32-vc11-x86\php.exe d:\dizzy\php_test\index.php //phpinfo() //php version => 5.6.1 // //system => windows nt lenovo-pc 6.1 build 7600 (windows 7 ultimate edition) i586 //build date => sep 24 2014 18:54:12 //compiler => msvc11 (visual c++ 2012) //architecture => x86 //configure command => cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo" //server api => command line interface
(2)簡單的表單處理
// 一个简单的html表单 <form action="action.php" method="post"> <p>姓名: <input type="text" name="name" /></p> <p>年龄: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form> // action.php 接收表单数据, 使用超全局变量 %_post["name"] %_post["age"] <?php echo htmlspecialchars($_post['name']); ?> <?php echo (int)$_post['age']; ?> // 这便是最简单的表单提交,及数据接收
四、基本文法
(1)php標示
<?php echo "hello world!"; // 当文件为纯php时,最好在末尾删除php结束标记 //?>
(2)從html中分離
// 在一对开始和结束之外的内容,都会被php解释器忽略。也就是html标签和php代码混合的那种,跟jsp,asp一样... <p>this is going to be ignored by php and displayed by the browser.</p> <?php echo 'while this is going to be parsed.'; ?> <p>this will also be ignored by php and displayed by the browser.</p> // 使用条件,高级分离 <?php if ($expression == true): ?> this will show if the expression is true. <?php else: ?> otherwise this will show. <?php endif; ?>
(3)指令分隔符,註
php需要在每個語句後面以分隔符號結束指令。
註: // 或 /* ... */ 但是,*/ 會符合最近的那個,記得!切記!
五、類型
php支援8種原始資料型別。
<?php $a_bool = true; // a boolean $a_str = "foo"; // a string $a_str2 = 'foo'; // a string $an_int = 12; // an integer echo gettype($a_bool); // prints out: boolean echo gettype($a_str); // prints out: string // if this is an integer, increment it by four if (is_int($an_int)) { $an_int += 4; } // if $bool is a string, print it out // (does not print out anything) if (is_string($a_bool)) { echo "string: $a_bool"; } ?>
(1)boolean 布林類型
可為true或false,且不區分大小寫。
一般非0,即為true。
(2)integer 整數
整數可以使用十進制,十六進制,八進位或二進位表示。八進位前面必須加0(零),十六進位加0x,二進位加0b。
若給定的數超出了interger的範圍,且將會被解釋為float。同樣運算結果超出integer範圍,也是如此。
php沒有整除運算符,1/2 將產生出 float 0.5。可以強制轉換為integer 或使用round() 更好的四捨五入。
echo (int)2.9; // 输出 2 echo round(2.555, 2) // 输出 2.56 // 决不要将未知的分数强制转换为 integer,这样有时会导致不可预料的结果。 <?php echo (int) ( (0.1+0.7) * 10 ); // 显示 7! ?>
(3)float 浮點型(double)
浮點型,且稱為浮點數float,雙精確度double, 實數real。
<?php $a = 1.234; $b = 1.2e3; $c = 7e-10; ?>
(4)string 字元轉
一個字串string,就是由一系列的字元組成,其中每個字元等同於一個位元組。這就意味著php只能支援256個字元集,因此不支援unicode。
string最大可達2gb。
<?php $a = 123; echo '$a'; // 输出 $a echo "$a"; // 输出 123, 转义字符 '\' $str = <<<'eod' example of string spanning multiple lines using nowdoc syntax. eod; ?>
(5)array 陣列
php中的數組,實際上是有序序列。映射是把values關聯到keys的型別。
因陣列元素的值也可說是另外的數組,樹狀結構和多維數組也是允許的。
<?php $array = array( "foo" => "bar", "bar" => "foo", ); // 自php 5.4 起 $array = [ "foo" => "bar", "bar" => "foo", ] // key 可以是 integer 或 string 类型 // key 值为可选项, 如果未指定,则使用之前用过最大的integer键名加上1作为新键名 ?> // 要修改某个值,通过其键名给该单元赋一个新值。 // 要删除某个键值对,对其调用 unset() 函数。
使用 unset() 需要注意,此時陣列不會重建索引。需要重建索引,可以使用 array_values() 函數。
陣列計算總數: 使用 count() 函數
(6)object 物件
<?php class foo{ function do_foo(){ echo "doing foo."; } } // 用 new 实例化一个类 $f = new foo; $f->do_foo;
(7)resource 資源類型
資源 resource 是一種特殊的變量,保存了外部資源的一個引用。資源是透過專門的函數來建立和使用的。
(8)null
特殊的null 表示一個變數沒有值。 null類型唯一可能的值就是null。
可認定為null的變數:①被賦值為null ②尚未被賦值 ③被unset
(9)callback 回呼類型
自php5.4 起,且可使用 callable 型態 指定回呼類型 callback。
六、變數
php中變數用一個美元符號 $ 後面跟著變數名稱來表示的。區分大小寫。
變數預設總是傳值賦值。
<?php $a = 1; // 值传递赋值 $b = $a // 引用赋值 $c = &$a // global 关键字 global ; $GLOBALS