註解符號:
// 單行註解
/* */ 多行註解
引號的使用
' ' 單引號,簡單字符串,不經任何處理直接拿過來;
" "雙引號,php動態處理然後輸出,一般用於處理$變量.
布林值:
一種是true 即真的;
另一種是false 即假的
常見變量:
string 字串(數字\漢字\等等)
integer 整數(1、2、3、4、5、0、-1、-2、等等)
double 浮點數(小數點)
array 陣列
object 對象
可以用的方法有gettype($mix) 和settype($mix,$typename);
常用符號轉義:
\" 雙引號
\\ 反斜線
\n 換行
\r 回行首
\t 水平製表
運算符號:
+ 加法運算
- 減法運算
- 減法運算
* 乘法運算
/ 除法運算
/ 除法運算
% 取餘數
++ 自加1
++ 自加1
-- 自減1
. 連接兩個字符串
. 連接兩個字符串
賦值運算:
= 把右邊的值代入左邊
+= 把右邊的值加到左邊
-= 把右邊的值減到左邊
*= 把左邊的值乘以右邊
/= 把左邊的值除以右邊
.= 把右邊的字串加到左邊
位運算:
& 按位與
| 按位或
^ 按位異或(xor)
<< 向左移1位
>> 向右移1位
~ 取補數
邏輯運算:
< 小於
> 大於
> 大於
<= 小於等於
>= 大於等於
>= 大於等於
!= 不等於
&& 與
&& 與
|| 或
! 非
! 非
其他運算符號
$ 變量符號
& 變量取別名
@ 不顯示錯誤信息(加在函數前)
-> 對象的方法或者屬性
=> 數組的元素值
?: 三元運算符
動態變數 Variable variables
例子:
<?php
$hello = 'world';
$world = 'hello';
echo $$world . "\n"; //output: world
PHP 會把
${$world}
的值拿出來替換,因此變數成為 $hello
,所以 output就是 'world' 字串。但太多的$...$
轉換會造成代碼理解的困難。動態函式 Variable functions
這也是PHP中神奇的功能,當變數後面接著parentheses
()
,PHP編譯程式會去試著執行這函式。
但PHP原生功能(language constructs) 像是 echo, print, unset(), isset(), empty(), include, require等等,動態函式不會生效。範例如下
<?php
namespace StudyGroup\LanguageFeatures\PHPClass;
class Foo
{
public static $fun = 'static property';
public static function fun()
{
echo 'Method fun called' . "\n";
}
public function hello()
{
echo 'Hello world!' . "\n";
}
}
echo Foo::$fun . "\n"; // This prints 'static property'. It does need a $fun in this scope.
$fun = 'fun';
Foo::$fun(); // This calls $foo->fun() reading $fun in this scope.
常用基本方法:
strtolower(); 把字符轉小寫
strtoupper(); 把字符轉大寫
2.PHP加密字符串
不可還原:
md5();
sha1();
可還原:
base64_encode();
base64_decode();
3.關於引號
一、單引號是原樣輸出
二、雙引號是內容解釋進行輸出
三、反單引號(小引號)是執行一個系統命令,如`dir`。常用在表名,字段名上面。
四、“\”作用於轉譯字符,如“\n”為換行。
4.函數:htmlspecialchars() 和htmlentities()
本函數將特殊字符轉成HTML 的字符串格式( &....; )。最常用到的場合可能就是處理客戶留言的留言版了。
& (和) 轉成&
" (雙引號) 轉成"
< (小於) 轉成<
> (大於) 轉成>
(空格)轉成
5.批量輸出HTML內容!
echo <<< EOT
HTML輸出內容。。。//這裡註釋照樣輸出!
EOT;
print <<<EOT
HTML輸出內容。。。//這裡註釋照樣輸出!
EOT;
(注意:內部包含變量用“{變量}”)
6.判斷文件是否存在並且輸出內容file_exists ()
- <? php
- $FileName = "File.TXT" ;
- if ( file_exists ( $FileName )){
- echo "<pre>" . file_get_contents ( $FileName ). "</pre>" ;
- } else
- {
- echo "no" ;
- }
- ?>
7.刪除變量釋放內存unset();
unset($var);
unset($var,$var1);
8.is_numeric;
檢測變量是否是數字;
9.is_int;
檢測變量是否是整數;
10.is_null;
檢測變量是否為NULL ;
11.is_string
檢測變量是否是字符串
12.is_real;
is_float() 的別名
13.isset
檢測變量是否定義
14.is_bool
檢測變量是否是布林值
15.is_array
檢測變量是否是數組
16.is_object
檢測變量是否是一個對象
17.substr() 函數返回字符串的一部分。
- substr ( String , Start , SelectNum )
- echo substr ( 'abcdef' , 1 ); // bcdef
- echo substr ( 'abcdef' , 1 , 3 ); // bcd
- echo substr ( 'abcdef' , 0 , 4 ); // abcd
- echo substr ( 'abcdef' , 0 , 8 ); // abcdef
- echo substr ( 'abcdef' , - 1 , 1 ); // f
18.nb2br() 把轉義的換行變成html的<br />
- echo nl2br ( "foo isn't\n bar" );
$
為什麼不像 java 或者其他語言,變數名直接拿來用呢?後來才知道 PHP 支援 Dynamic variables動態變數 i.e variable variables的功能。