php的eval函数用法小结

WBOY
Freigeben: 2016-07-25 09:03:32
Original
1160 Leute haben es durchsucht
  1. $string = "beautiful";
  2. $time = "winter";
  3. $str = 'This is a $string $time morning!';
  4. echo $str. "
    ";
  5. eval("$str = "$str";");
  6. echo $str;
  7. ?>  
复制代码

输出: This is a $string $time morning! This is a beautiful winter morning!

eval() 函数在CodeIgniter框架里也有用到。在 /system/database/DB.php 文件中,根据系统的配置动态的定义了一个类 CI_DB,具体代码片段:

  1. if ( ! isset($active_record) OR $active_record == TRUE)
  2. {
  3. require_once(BASEPATH.'database/DB_active_rec.php');
  4. if ( ! class_exists('CI_DB'))
  5. {
  6. eval('class CI_DB extends CI_DB_active_record { }');
  7. }
  8. }
  9. else
  10. {
  11. if ( ! class_exists('CI_DB'))
  12. {
  13. eval('class CI_DB extends CI_DB_driver { }');
  14. }
  15. }
  16. require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php');
  17. // Instantiate the DB adapter
  18. $driver = 'CI_DB_'.$params['dbdriver'].'_driver';
  19. $DB = new $driver($params);
复制代码

本函数可将字符串之中的变量值代入,通常用在处理数据库的数据上。参数 code_str 为欲处理的字符串。 注意:待处理的字符串要符合 PHP 的字符串格式,同时在结尾处要有分号。使用本函式处理后的字符串会沿续到 PHP 程序结束。



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!