PHP5薄荷教程 14 變數操作函式

2021-04-15 08:08:24 字數 3061 閱讀 6397

二、判斷、獲取變數的資料型別

1、bool is_numeric(mixed var)

判斷變數var是否為數字,是則返回true,不是則返回false。以下函式的用法類似:

is_int() is_integer() is_long() 整數

is_float() is_double() is_real() 浮點數

is_string() 字串

is_bool() 布林值

is_null() null型

is_array() 陣列

2、string gettype(mixed var)

返回變數var的資料型別,是以下值之一:"boolean"、"integer"、"string"、"array"、"object"、"null"、"unknown type"。

二、轉換、設定資料型別

資料型別的轉換有多種方式。一是讓php進行內部轉換,比如$var=1+"1";結果$var=2,其中的字串"1"就被自動轉換成了整數1。二是進行強制轉換,如$var=1+(int)"1";結果$var=2,其中字串"1"被強制轉換成整數1。同樣的關鍵字有(float)、(string)、(bool)等。三則是通過php的內部函式來轉換了。

1、int intval(mixed var [,int base])

將var轉換成整數。如果var都是數字,則能順利轉換;如果開頭是數字,後面含有字母,則從字母開始處忽略,如"123abc"將轉換為123;如果開頭是字母,則返回0。如果var是字串,則base可以設定該數的進製,並返回其十進位制的整數。如intval("100",2)的值為4;如果var不是字串,那麼base將不起作用。

2、float floatval(mixed var):和(float)的效果完全一樣。而doubleval()則等價於floatval()。

3、string strval(mixed var):和(string)的效果完全一樣。

4、bool settype(mixed &var,string type)

將變數var的資料型別轉換為由type指定的型別,若成功則返回true,失敗則返回false。其中,type的值可以是:"boolean"(或"bool")、"integer"(或"int")、"float"、"string"、"array"、"object"、null"。

三、print_r() var_dump() var_export()

這三個函式都是用來輸出變數的詳細資訊的,對陣列、物件等型別來說尤為實用。

1、bool print_r(mixed expression [,bool return])

輸出expression的值,如果expression是int、float和string的話,將輸出它們本身(同print expression);如果是數或物件,則輸出詳細資訊。輸出成功則返回true,否則為false。如果return設定為true,則函式的返回值將是要輸出的內容,且這些內容不會被輸出到網頁中。

2、void var_dump(mixed expression [,mixed expression [,...]])

輸出多個expression,區別見下面的例子。

3、mixed var_export(mixed expression [,bool return])

該函式輸出的expression將是合法的php**。如果return設定為true,則函式的返回值將是要輸出的內容,且這些內容不會被輸出到網頁中。如:$arrexp=array(1,2,3);$arr=var_export($arrexp,true);相當於執行$arr=array(1,2,3);

下面的例子可以看出三者的區別:

$arr=array(0,"var","k1"=>"v1",array("str",1));

print_r($arr)

var_dump($arr)

var_export($arr)

array

([0] => 0

[1] => var

[k1] => v1

[2] => array

([0] => str

[1] => 1))

array(4)

}

array (

0 => 0,

1 => 'var',

'k1' => 'v1',

2 =>

array (

0 => 'str',

1 => 1,),)

五、string serialize(mixed value)

mixed unserialize(string str)

serialize函式將value轉換成乙個特殊的字串,並可用unserialize函式將其轉換回來。也就是說,$var和unserialize(serialize($var))是完全等價的。這兩個函式的用處就是可以將複雜的資料以字串的形式儲存,並不失真地轉換回來。

六、bool import_request_variables(string types [,string prefix])

該函式的功能是有選擇地將$_get、$_post和$_cookie陣列中的變數提取出來,使之成為全域性變數。types可以設定要提取的陣列和優先權。可以是g、p、c或是它們的組合,且不區分大小寫。如"gp"就是提取$_get和$_post中的所有變數,如果有重複,則以$_post為準。prefix用來設定提取出的變數的字首。比如有$_post['username']="jerry";,使用import_request_variables("p","post_");則post_username="jerry";

七、array get_defined_vars(void):將所有已定義的變數組織成陣列返回。

<?php

$b = array(1, 1, 2, 3, 5, 8);

$arr = get_defined_vars();

print_r($arr["b"]);// print $b

print_r($arr["_server"]);// print all the server vars

?>  

PHP5薄荷教程 3 變數和常量

php的變數都以 開頭,且 後的第乙個字元必須是字母或 符號,不可使用數字或其他特殊符號,中文當然更不萊塞了。php的變數不需要宣告,直接用等號賦值即可,如 pi 3.14 radius 5 circumference 2 pi radius 圓面積 2 r 另外,php支援對變數的間接引用,如 n...

PHP5薄荷教程 8 函式

函式是一系列的語句,用來完成特定的功能。或者給它乙個引數,讓它輸出所需要的值。比如 a sin b 就是讓 a等於 b的正弦值。1 函式的呼叫 func func arg1,arg2,result func arg1,arg2 2 內部函式 php提供了大量的內部函式,這些函式不需要作額外的宣告,可...

PHP5薄荷教程 23 零星函式

以下是php5中一些有特殊功能的函式,挺實用的說。1 int error reporting int level 設定錯誤報告等級,常用的level有0 不報告任何錯誤 e all 報告所有錯誤 2 string shell exec string cmd 執行cmd命令列,返回執行結果。3 mix...