Dalam pembangunan PHP, mengosongkan rentetan bukan angka adalah keperluan biasa. Dalam pembangunan sebenar, input data oleh pengguna biasanya mengandungi aksara bukan angka, seperti ruang, huruf, simbol, dll. Aksara ini akan mengganggu pemprosesan data kami. Oleh itu, kita perlu mengosongkan aksara bukan angka ini sebelum memproses.
Berikut ialah beberapa fungsi dan kaedah PHP biasa yang boleh digunakan untuk mengosongkan rentetan bukan angka.
fungsi filter_var() boleh menapis pembolehubah, menghuraikan nombor di dalamnya dan mengembalikannya. Parameter pertama fungsi ini ialah pembolehubah yang akan ditapis, dan parameter kedua ialah jenis penapis. Di sini kami menggunakan jenis penapis FILTER_SANITIZE_NUMBER_FLOAT untuk menapis nombor titik terapung.
<?php $num = "12.34abc"; $numFloat = filter_var($num, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); echo $numFloat; ?>
Output: 12.34
Fungsi ini juga mempunyai jenis penapis lain yang boleh digunakan untuk pelbagai jenis penapisan dan penghuraian data, seperti FILTER_SANITIZE_NUMBER_INT yang boleh digunakan untuk integer.
fungsi preg_replace() boleh digunakan untuk memadankan dan menggantikan aksara dalam rentetan melalui ungkapan biasa. Kod berikut menggunakan fungsi preg_replace() untuk memadankan semua aksara bukan angka dalam rentetan:
<?php $num = "12.34abc"; $numAfter = preg_replace('/\D/', '', $num); echo $numAfter; ?>
Output: 1234
di mana D ialah metakarakter ungkapan biasa, mewakili selain daripada digit sebarang watak.
fungsi ctype_digit() digunakan untuk menyemak sama ada rentetan hanya mengandungi aksara angka Jika rentetan hanya mengandungi digit, ia akan mengembalikan BENAR, sebaliknya ia kembali SALAH.
<?php $num = "1234"; $isDigit = ctype_digit($num); echo $isDigit; ?>
Output: 1
Fungsi ini hanya boleh digunakan untuk penapisan rentetan integer dan tidak boleh dinilai jika terdapat titik perpuluhan.
is_numeric() fungsi digunakan untuk menyemak sama ada rentetan itu ialah nombor atau rentetan angka, dan mengembalikan jika rentetan itu ialah nombor atau rentetan angka TRUE, jika tidak, mengembalikan FALSE.
<?php $num = "12.34"; $isNumeric = is_numeric($num); echo $isNumeric; ?>
Output: 1
Fungsi ini boleh digunakan untuk menilai rentetan integer dan titik terapung Ia tidak boleh dinilai jika ia hanya digunakan untuk rentetan integer.
Di atas ialah beberapa fungsi dan kaedah PHP biasa yang boleh digunakan untuk mengosongkan rentetan bukan angka. Dalam aplikasi praktikal, kita boleh memilih untuk menggunakan kaedah yang berbeza mengikut situasi tertentu.
Selain itu, perlu diingatkan bahawa apabila mengosongkan rentetan bukan angka, kita perlu mempertimbangkan keperluan perniagaan tertentu, seperti sama ada titik perpuluhan, nombor negatif, dll. perlu dikekalkan. Keperluan yang berbeza memerlukan kaedah yang berbeza untuk memastikan ketepatan dan kesempurnaan data.
Atas ialah kandungan terperinci Bagaimana untuk mengosongkan rentetan bukan angka dalam php (Analisis ringkas kaedah biasa). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!