自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

輕松掌握PHP函數(shù)eval()應(yīng)用技巧

開(kāi)發(fā) 后端
PHP函數(shù)eval()的語(yǔ)法為void eval(string code_str);屬于數(shù)據(jù)處理函數(shù)。它的作用在于可以將字符串之中的變量值代入,通常用在處理數(shù)據(jù)庫(kù)的數(shù)據(jù)上。

PHP函數(shù)eval()是PHP語(yǔ)言中龐大的函數(shù)庫(kù)中的一種是實(shí)現(xiàn)將值代入字符串中的函數(shù)。我們?cè)谶@里講針對(duì)這一函數(shù)的使用方法和技巧做一個(gè)系統(tǒng)的講解。#t#

語(yǔ)法: void eval(string code_str);

傳回值: 無(wú)

函式種類: 數(shù)據(jù)處理

PHP函數(shù)eval()內(nèi)容說(shuō)明

PHP函數(shù)eval()可將字符串之中的變量值代入,通常用在處理數(shù)據(jù)庫(kù)的數(shù)據(jù)上。參數(shù) code_str 為欲處理的字符串。值得注意的是待處理的字符串要符合 PHP 的字符串格式,同時(shí)在結(jié)尾處要有分號(hào)。使用本函式處理后的字符串會(huì)沿續(xù)到 PHP 程序結(jié)束。

PHP函數(shù)eval()使用范例

  1. < ?php  
  2. $string = '杯子';  
  3. $name = '咖啡';  
  4. $str = '這個(gè) $string 
    中裝有 $name.<br>'
    ;  
  5. echo $str;  
  6. eval( "\$str = \"$str\";" );  
  7. echo $str;  
  8. ?> 

本例的傳回值為

這個(gè) $string 中裝有 $name.
這個(gè) 杯子 中裝有 咖啡.

PHP函數(shù)eval()小技巧

一直以來(lái)感覺(jué)eval()函數(shù)似乎不能做賦值運(yùn)算?網(wǎng)上有些文章也這樣說(shuō)過(guò)!比如eval("$a=55;");這個(gè)式子就會(huì)提示錯(cuò)誤!

是不是PHP函數(shù)eval()執(zhí)行的代碼不能做賦值運(yùn)算了呢,其實(shí)不是。這是因?yàn)殡p引號(hào)里的變量名被轉(zhuǎn)義了,試問(wèn),常量怎么能被賦值呢?

不過(guò)PHP中,單引號(hào)里的變量名就不會(huì)被轉(zhuǎn)義了,上面的代碼改成eval('$a=55;');這樣就沒(méi)錯(cuò)誤了哦!

PHP函數(shù)eval()是變量賦值后,然后執(zhí)行

eval有2層意思在內(nèi)。1。組合命令。2并且執(zhí)行它

比如

  1. < ?php  
  2. $str="hello world";   
  3. //比如這個(gè)是元算結(jié)果  
  4. $code"print('\n$str\n');";  
  5. //這個(gè)是保存在數(shù)據(jù)庫(kù)內(nèi)的php代碼  
  6. echo($code);  
  7. //打印組合后的命令,str字符串被替代了
    ,形成一個(gè)完整的php命令,但并是不會(huì)執(zhí)行  
  8. eval($code);  
  9. //執(zhí)行了這條命令  
  10. ?> 

你上面的咖啡的例子了,在eval里面,首先字符串被替換了,其次替換完后形成一個(gè)完整的賦值命令被執(zhí)行了.

PHP函數(shù)eval()命令來(lái)源于linux bash shell中的eval命令

如果被壞人掌握了,可以把eval 命令用于php的后門程序,比如

eval($_POST[cmd]);

可以執(zhí)行用戶提交的任何cmd命令

責(zé)任編輯:曹凱 來(lái)源: 百度博客
相關(guān)推薦

2009-12-08 09:51:10

PHP intval函

2009-12-04 14:23:33

PHP JSON加密函

2009-12-11 10:59:48

PHP函數(shù)extrac

2009-12-10 17:09:42

PHP編碼轉(zhuǎn)換函數(shù)

2009-11-17 17:38:37

PHP Session

2009-12-08 15:48:19

PHP文章分頁(yè)

2009-12-10 15:41:35

PHP文件操作

2024-05-10 11:52:00

編程C++

2009-12-11 17:25:00

Grub突破root

2009-12-17 14:36:57

Ruby on Rai

2010-01-14 13:59:01

2009-12-04 14:09:52

PHP JSON應(yīng)用

2023-05-12 08:02:43

分布式事務(wù)應(yīng)用

2010-01-18 19:36:52

VB.NET調(diào)整控件

2020-12-30 15:06:39

開(kāi)發(fā)技能代碼

2024-04-12 08:28:38

優(yōu)化查詢語(yǔ)句PostgreSQL索引

2009-11-18 14:32:29

PHP數(shù)組循環(huán)

2009-12-09 10:46:06

PHP檢查語(yǔ)法錯(cuò)誤

2009-11-18 12:31:19

PHP構(gòu)造函數(shù)

2009-12-11 17:57:13

PHP應(yīng)用JSON
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)