程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP eval() 函數,phpeval函數

PHP eval() 函數,phpeval函數

編輯:關於PHP編程

PHP eval() 函數,phpeval函數


定義和用法

eval() 函數把字符串按照 PHP 代碼來計算。

該字符串必須是合法的 PHP 代碼,且必須以分號結尾。

如果沒有在代碼字符串中調用 return 語句,則返回 NULL。如果代碼中存在解析錯誤,則 eval() 函數返回 false。

語法

? eval(phpcode)

  

參數描述 phpcode 必需。規定要計算的 PHP 代碼。

 

提示和注釋

注釋:返回語句會立即終止對字符串的計算。

注釋:該函數對於在數據庫文本字段中供日後計算而進行的代碼存儲很有用。

例子

? <?php $string = "beautiful"; $time = "winter";   $str = 'This is a $string $time morning!'; echo $str. "<br />";   eval("\$str = \"$str\";"); echo $str; ?>   

輸出:

This is a $string $time morning! This is a beautiful winter morning!  



eval() 函數在CodeIgniter框架裡也有用到。在 /system/database/DB.php 文件中,根據系統的配置動態的定義了一個類 CI_DB,具體代碼片段如下:
? if ( ! isset($active_record) OR $active_record == TRUE)     {         require_once(BASEPATH.'database/DB_active_rec.php');           if ( ! class_exists('CI_DB'))         {             eval('class CI_DB extends CI_DB_active_record { }');         }     }     else     {         if ( ! class_exists('CI_DB'))         {             eval('class CI_DB extends CI_DB_driver { }');         }     }       require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php');       // Instantiate the DB adapter     $driver = 'CI_DB_'.$params['dbdriver'].'_driver';     $DB = new $driver($params);

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved