ارزیابی رشته ها با تابع eval در PHP

این تابع رشته ای را به عنوان کد PHP ارزیابی می کند. به عنوان مثال دستور زیر را ببینید

 

eval("echo 'PHP Programming';");

 

این تابع محتویات رشته را گرفته آن را اجرا می کند. خروجی این دستور مثل خروجی دستور زیر می باشد

 

 

echo 'PHP Programming';

 

درواقع رشته ورودی در این تابع کد PHP در نظر گرفته می شود و اجرا خواهد شد. برای درک بهتر مثال زیر را نگاه کنید

 

$a = "echo '";
$b = "PHP Programming';";
eval($a . $b);

 

با الحاق رشته های متغییر a و  b دستور زیر به صورت رشته به ورودی متد eval می رود

 

echo 'PHP Programming';

 

و رشته PHP Programming در خروجی چاپ می شود.

تابع eval() موارد کاربردی متعددی دارد. به عنوان مصال ممکن است بخواهید بلوکی از کد را در پایگاه داده ذخیره کنید، سپس آن ها را بازیابی کرده با eval اجرا کنید. ممکن است بخواهید کدی را در یک حلقه تکرار ایجاد کنید و سپس با تابع eval آن را اجرا نمایید. با استفاده از eval می توان کد موجود را نوسازی کرد.

 

 

منبع : it3du