?
1、isset
(PHP 4, PHP 5, PHP 7)
isset?—?檢測變量是否設置
說明
bool isset ( mixed $var [, mixed $... ] )
檢測變量是否設置,并且不是?NULL
。
如果已經使用?unset()?釋放了一個變量之后,它將不再是?isset()。若使用?isset()?測試一個被設置成?NULL
?的變量,將返回?FALSE
。同時要注意的是一個?NULL
?字節("\0")并不等同于 PHP 的?NULL
?常數。
參數
-
要檢查的變量。
-
其他變量。
var
...
返回值
如果?var
?存在并且值不是?NULL
?則返回?TRUE
,否則返回?FALSE
。
? 手冊舉例:
1 <?php
2 $var = '';
3
4 // 結果為 TRUE,所以后邊的文本將被打印出來。
5
6 if (isset($var)) {
7 echo "This var is set so I will print.";
8 }
9
10 // 在后邊的例子中,我們將使用 var_dump 輸出 isset() 的返回值。
11 // the return value of isset().
12
13 $a = "test";
14 $b = "anothertest";
15
16 var_dump(isset($a)); // TRUE
17 var_dump(isset($a, $b)); // TRUE
18
19 unset ($a);
20
21 var_dump(isset($a)); // FALSE
22 var_dump(isset($a, $b)); // FALSE
23
24 $foo = NULL;
25 var_dump(isset($foo)); // FALSE
26
27 ?>
2、trim
(PHP 4, PHP 5, PHP 7)
trim?—?去除字符串首尾處的空白字符(或者其他字符)
說明
1 string trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] )
此函數返回字符串?str
?去除首尾空白字符后的結果。如果不指定第二個參數,trim()?將去除這些字符:
- " " (ASCII?32?(0x20)),普通空格符。
- "\t" (ASCII?9?(0x09)),制表符。
- "\n" (ASCII?10?(0x0A)),換行符。
- "\r" (ASCII?13?(0x0D)),回車符。
- "\0" (ASCII?0?(0x00)),空字節符。
- "\x0B" (ASCII?11?(0x0B)),垂直制表符。
參數
-
待處理的字符串。
-
可選參數,過濾字符也可由?
charlist
?參數指定。一般要列出所有希望過濾的字符,也可以使用 “..” 列出一個字符范圍。
str
charlist
返回值
過濾后的字符串。
手冊范例
1 <?php
2
3 $text = "\t\tThese are a few words :) ... ";
4 $binary = "\x09Example string\x0A";
5 $hello = "Hello World";
6 var_dump($text, $binary, $hello);
7
8 print "\n";
9
10 $trimmed = trim($text);
11 var_dump($trimmed);
12
13 $trimmed = trim($text, " \t.");
14 var_dump($trimmed);
15
16 $trimmed = trim($hello, "Hdle");
17 var_dump($trimmed);
18
19 // 清除 $binary 首位的 ASCII 控制字符
20 // (包括 0-31)
21 $clean = trim($binary, "\x00..\x1F");
22 var_dump($clean);
23
24 ?>
以上例程會輸出:
tring(32) " These are a few words :) ... "
string(16) " Example string
"
string(11) "Hello World"string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(14) "Example string"
3、method_exists
(PHP 4, PHP 5, PHP 7)
method_exists?—?檢查類的方法是否存在
說明
1 bool method_exists ( mixed $object , string $method_name )
檢查類的方法是否存在于指定的?object
中。
參數
-
對象示例或者類名。
-
方法名。
object
method_name
返回值
如果?method_name
?所指的方法在?object
?所指的對象類中已定義,則返回?TRUE
,否則返回?FALSE
。
手冊范例
1 <?php
2 $directory = new Directory('.');
3 var_dump(method_exists($directory,'read'));
4 ?>
以上例程會輸出:
1 bool(true)
4、extract
(PHP 4, PHP 5, PHP 7)
extract?—?從數組中將變量導入到當前的符號表
說明
1 int extract ( array &$var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix = NULL ]] )
本函數用來將變量從數組中導入到當前的符號表中。
檢查每個鍵名看是否可以作為一個合法的變量名,同時也檢查和符號表中已有的變量名的沖突。
參數
-
一個關聯數組。此函數會將鍵名當作變量名,值作為變量的值。 對每個鍵/值對都會在當前的符號表中建立變量,并受到?
extract_type
?和?prefix
?參數的影響。必須使用關聯數組,數字索引的數組將不會產生結果,除非用了?
EXTR_PREFIX_ALL
?或者EXTR_PREFIX_INVALID
。 -
對待非法/數字和沖突的鍵名的方法將根據?
extract_type
?參數決定。可以是以下值之一:- 如果有沖突,覆蓋已有的變量。
- 如果有沖突,不覆蓋已有的變量。
- 如果有沖突,在變量名前加上前綴?
prefix
。 - 給所有變量名加上前綴?
prefix
。 - 僅在非法/數字的變量名前加上前綴?
prefix
。 - 僅在當前符號表中已有同名變量時,覆蓋它們的值。其它的都不處理。 舉個例子,以下情況非常有用:定義一些有效變量,然后從?$_REQUEST?中僅導入這些已定義的變量。
- 僅在當前符號表中已有同名變量時,建立附加了前綴的變量名,其它的都不處理。
- 將變量作為引用提取。這有力地表明了導入的變量仍然引用了?
var_array
?參數的值。可以單獨使用這個標志或者在?extract_type
?中用 OR 與其它任何標志結合使用。
EXTR_OVERWRITE
EXTR_SKIP
EXTR_PREFIX_SAME
EXTR_PREFIX_ALL
EXTR_PREFIX_INVALID
EXTR_IF_EXISTS
EXTR_PREFIX_IF_EXISTS
EXTR_REFS
如果沒有指定?
extract_type
,則被假定為?EXTR_OVERWRITE
。 -
注意?
prefix
?僅在?extract_type
?的值是?EXTR_PREFIX_SAME
,EXTR_PREFIX_ALL
,EXTR_PREFIX_INVALID
?或EXTR_PREFIX_IF_EXISTS
?時需要。 如果附加了前綴后的結果不是合法的變量名,將不會導入到符號表中。前綴和數組鍵名之間會自動加上一個下劃線。
var_array
extract_type
prefix
返回值
返回成功導入到符號表中的變量數目。
手冊范例
extract()?的一種可能用法是將?wddx_deserialize()?返回的結合數組中的內容導入到符號表變量中去。
1 <?php
2
3 /* 假定 $var_array 是 wddx_deserialize 返回的數組*/
4
5 $size = "large";
6 $var_array = array("color" => "blue",
7 "size" => "medium",
8 "shape" => "sphere");
9 extract($var_array, EXTR_PREFIX_SAME, "wddx");
10
11 echo "$color, $size, $shape, $wddx_size\n";
12
13 ?>
以上例程會輸出:
1 blue, large, sphere, medium
$size?沒有被覆蓋,因為指定了?EXTR_PREFIX_SAME
,這使得?$wddx_size?被建立。如果指定了?EXTR_SKIP
,則$wddx_size?也不會被建立。EXTR_OVERWRITE
?將使?$size?的值為“medium”,EXTR_PREFIX_ALL
?將建立新變量$wddx_color,$wddx_size?和?$wddx_shape。
?
?電商第一季函數筆記(2)