Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menilai Formula Matematik yang Diluluskan sebagai Rentetan dalam PHP dengan Selamat?

Bagaimana untuk Menilai Formula Matematik yang Diluluskan sebagai Rentetan dalam PHP dengan Selamat?

Barbara Streisand
Lepaskan: 2025-01-03 06:29:42
asal
676 orang telah melayarinya

How to Safely Evaluate a Mathematical Formula Passed as a String in PHP?

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan