導航:首頁 > 編程語言 > php獲取變數的類型

php獲取變數的類型

發布時間:2023-08-27 05:35:36

『壹』 php語句的結構與變數類型

php語句:
一個php文件通常包含HTML標記和一些php語句段。
一個php語句段從<?php 標簽開始,到 ?> 結束。php標簽用於分割其他php語句段和html,php語句寫在兩個標簽中間,可以寫多行PHP語句。
注意:php語句以分號結尾,如果沒有分號,則會繼續分析文件,直到下一個分號,並忽略中間的空格和換行。
php中,回車換行,空格,製表符都被視為空格,php解析器會當它們不存在。
例如:
<?php
echo 'Hello World';
?>

php的變數類型:
php一共八種基本的變數類型,包括如下:
四種標量類型:
boolean (布爾型)
integer (整型)
float (浮點型, 也稱作 double)
string (字元串)
兩種復合類型:
array (數組)
object (對象)
最後是兩種特殊類型:
resource(資源)
NULL(NULL)
另外php還有一些偽類型:
mixed
number
callback

『貳』 PHP變數名、變數值、類型

變數名 =》 zval

變數值 =》zend_value

問題:

引用計數

變數傳遞,變數賦值

變數的基礎結構

變數值:zend_value 

typedef union _zend_value {

  zend_long        lval;            /* long value */

  double            dval;            /* double value */

  zend_refcounted  *counted;

  zend_string      *str;

  zend_array      *arr;

  zend_object      *obj;

  zend_resource    *res;

  zend_reference  *ref;

  zend_ast_ref    *ast;

  zval            *zv;

  void            *ptr;

  zend_class_entry *ce;

  zend_function    *func;

  struct {

      uint32_t w1;

      uint32_t w2;

  } ww;

} zend_value;

變數名:_zval

typedef struct _zval_struct    zval;

struct _zval_struct {

  zend_value        value;        /* value */

  union {

      struct {

        ZEND_ENDIAN_LOHI_4(

            zend_uchar    type,          /* active type */

            zend_uchar    type_flags,

            zend_uchar    const_flags,

            zend_uchar    reserved)        /* call info for EX(This) */

      } v;

      uint32_t type_info;

  } u1;

  union {

      uint32_t    var_flags;

      uint32_t    next;                /* hash collision chain */

      uint32_t    cache_slot;          /* literal cache slot */

      uint32_t    lineno;              /* line number (for ast nodes) */

      uint32_t    num_args;            /* arguments number for EX(This) */

      uint32_t    fe_pos;              /* foreach position */

      uint32_t    fe_iter_idx;          /* foreach iterator index */

  } u2;

};

變數類型【type】

/* regular data types */

#define IS_UNDEF              0

#define IS_NULL                  1

#define IS_FALSE              2

#define IS_TRUE                  3

#define IS_LONG                  4

#define IS_DOUBLE              5

#define IS_STRING              6

#define IS_ARRAY              7

#define IS_OBJECT              8

#define IS_RESOURCE                9

#define IS_REFERENCE            10

/* constant expressions */

#define IS_CONSTANT                11

#define IS_CONSTANT_AST            12

/* fake types */

#define _IS_BOOL              13

#define IS_CALLABLE                14

/* internal types */

#define IS_INDIRECT                15

#define IS_PTR                17

true 和 flase 沒有zend_value 結構, 直接通過type來區分,zend_long和double的變數指直接存儲在_zend_value中,不需要額外的value指針。

『叄』 php中哪個語句可以輸出變數類型

var_mp和gettype函數均可輸出變數類型,用法如下:

$bl='example';

var_mp($bl);

echo '變數類型為:'.gettype($bl);

『肆』 php中如何讀取環境變數

PHP中的環境變數可以通過 $_SERVER 獲取

$_SERVER是一個包含伺服器端相關信息的PHP全局環境變數,在PHP4.1.0之前的版本使用$HTTP_SERVER_VARS。

下面是詳細的說明及用法:

$_SERVER['PHP_SELF'] 當前正在執行腳本的文件名,與 document root相關。在FORM表單中,如執行文件是本身,你可以在ACTION中使用$_SERVER['PHP_SELF'],好處是當執行文件名有變動時可以不去頻繁替換ACTION中的文件名。

$_SERVER['SERVER_NAME'] 當前運行的PHP程序所在伺服器主機的名稱。

$_SERVER['REQUEST_METHOD'] 訪問頁面時的請求方法,即GET、HEAD、POST、PUT。

$_SERVER['DOCUMENT_ROOT'] 當前運行的PHP程序所在的文檔根目錄。也就是PHP.INI文件中的定義。

$_SERVER['HTTP_REFERER'] 鏈接到當前頁面的前一頁面的URL地址。在頁面跳轉功能中非常有用。

$_SERVER['REMOTE_ADDR'] 正在瀏覽當前頁面訪問者的IP地址。

$_SERVER['REMOTE_HOST'] 正在瀏覽當前頁面用戶的主機名。

$_SERVER['REMOTE_PORT'] 正在游覽的用戶連接到伺服器時所使用的埠。

$_SERVER['SCRIPT_FILENAME'] 當前執行腳本的絕對路徑名。

$_SERVER['SERVER_PORT'] 伺服器所使用的埠

$_SERVER['SCRIPT_NAME'] 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。

$_SERVER['REQUEST_URI'] 訪問此頁面所需的URI。如「/index.html」。

$_SERVER['PHP_AUTH_USER'] 應用在HTTP用戶登錄認證功能中,這個變數是用戶輸入的用戶名。

$_SERVER['PHP_AUTH_PW'] 應用在HTTP用戶登錄認證功能中,這個變數便是用戶輸入的密碼。

$_SERVER['AUTH_TYPE'] 應用在HTTP用戶登錄認證功能中,這個變數便是認證的類型。

備註:上述提到的這些PHP全局環境變數,在php.ini中的register_globals設置為on時,這些變數在所有PHP程序腳本中都可用,也就是$_SERVER數組被分離了。當然為了安全考慮,還是不要將register_globals打開為好。

『伍』 php的數據類型分為哪兩類

變數的定義:在整個php腳本中可以發生改變的量叫做變數

變數命名的規則:
①所有的變數必須用$ 來修飾
②由字母數字下劃線組成
③不能用數字開頭
④可以是中文,但一般不用,不能包含特殊字元
⑤變數名區分大小寫
四種標量數據類型:整型、實型(浮點型) 字元型布爾型
兩種特殊類型:資源 NULL
兩種復合數據類型:數組和對象
常量定義:在整個程序運行過程中其值不發生改變的量,切記常量不加$
例如:define(「A」,10); echo A; 輸出10
Defined(常量名) //檢測常量是否被設置
常量可以一旦被定義不能被修改,在整個運行過程中不可以改變的量
變數可 以改變的量,常量占內存,變數不佔內存 因為變數在腳本執行結束時會自動釋放

閱讀全文

與php獲取變數的類型相關的資料

熱點內容
vba文件夾做變數代碼 瀏覽:435
普信app為什麼用不了 瀏覽:256
linux查找rpm包 瀏覽:114
怎麼把安卓手機繁體字改為現代字 瀏覽:896
pdf簽名如何刪除 瀏覽:410
按摩解壓腿部足部 瀏覽:293
app切圖用什麼軟體 瀏覽:5
訂購命令英語 瀏覽:661
java正則網址 瀏覽:779
程序員上班可不可以自學 瀏覽:430
空調壓縮機排空氣視頻 瀏覽:285
centos72nginxphp 瀏覽:186
游戲平台用什麼伺服器好 瀏覽:756
保密櫃里的圖片是加密文件嗎 瀏覽:911
php判斷最後一個字元 瀏覽:637
pdf腦區 瀏覽:635
at命令已棄用 瀏覽:492
買點賣出指標源碼 瀏覽:614
36位單片機 瀏覽:431
英雄聯盟山東伺服器地址 瀏覽:216