Bagaimana untuk menilai formula yang diluluskan sebagai rentetan dalam PHP?
Dalam PHP, anda boleh menggunakan fungsi eval() untuk menilai rentetan sebagai kod PHP. Walau bagaimanapun, fungsi ini tidak disyorkan atas sebab keselamatan, kerana ia boleh membenarkan kod hasad dilaksanakan. Alternatif yang lebih selamat ialah menggunakan fungsi create_function(), yang mencipta fungsi daripada rentetan.
Berikut ialah contoh cara anda boleh menggunakan fungsi create_function() untuk menilai ungkapan matematik:
<?php $expression = '2 + 2'; $fn = create_function('', "return ($expression);"); $result = $fn(); echo $result; // Output: 4
Ini akan mengeluarkan nilai ungkapan, iaitu 4.
Pilihan lain ialah menggunakan perpustakaan yang boleh menilai dengan selamat ungkapan matematik. Salah satu perpustakaan tersebut ialah kelas EvalMath, yang boleh didapati di [pautan ini](http://www.phpclasses.org/browse/package/2695.html).
Berikut ialah contoh cara anda boleh menggunakan kelas EvalMath untuk menilai ungkapan matematik:
<?php include('evalmath.class.php'); $m = new EvalMath; $result = $m->evaluate('2 + 2'); echo $result; // Output: 4
Ini juga akan mengeluarkan nilai ungkapan, iaitu 4.
Kaedah yang anda pilih untuk digunakan bergantung pada keperluan khusus anda. Jika anda memerlukan penyelesaian yang ringkas dan mudah digunakan, maka fungsi create_function() ialah pilihan yang baik. Walau bagaimanapun, jika anda memerlukan penyelesaian yang lebih mantap dan selamat, maka kelas EvalMath ialah pilihan yang lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk Menilai Formula Matematik yang Diluluskan sebagai Rentetan dalam PHP dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!