Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menentukan sama ada ia adalah rentetan integer dalam php
Dua kaedah penghakiman: 1. Gunakan is_numeric() dan strpos() untuk menilai sama ada rentetan itu ialah rentetan angka yang tidak mengandungi titik perpuluhan Sintaksnya ialah "!is_numeric($str)||strpos ($str," .")!==false", jika false dikembalikan, ia adalah rentetan integer, dan sebaliknya. 2. Gunakan intval() untuk menukar rentetan kepada nilai integer dan gunakan operator "==" untuk menentukan sama ada nilai integer adalah sama dengan rentetan asal Sintaksnya ialah "intval($str)==$str" .
Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP8, komputer DELL G3
php menentukan sama ada rentetan ialah Untuk rentetan integer
Kaedah 1: Gunakan fungsi is_numeric() dan fungsi strpos() untuk menilai
Hanya nilai sama ada rentetan itu Rentetan angka tanpa titik perpuluhan sudah memadai
Contoh: Semak sama ada rentetan "a678", "3.14", dan "67854" ialah rentetan integer.
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ if(!is_numeric($str)||strpos($str,".")!==false){ echo "$str 字符串不是整数字符串<br><br>"; }else{ echo "$str 字符串是整数字符串<br><br>"; } } f("a678"); f("3.14"); f("67854"); ?>
Analisis:
is_numeric() fungsi boleh menentukan sama ada ia adalah nombor atau rentetan angka, tetapi ia tidak boleh menyemak sama ada rentetan itu adalah integer, iaitu, rentetan itu mungkin nombor bulat atau titik terapung; , dan gunakan fungsi ini untuk menyemak sama ada rentetan angka itu Mengandungi titik perpuluhan untuk mengecualikan nombor titik terapung.
Contoh:intval() function
intval() function ialah digunakan Untuk mendapatkan nilai integer pembolehubah. Fungsi intval() mengembalikan nilai integer pembolehubah var dengan menggunakan penukaran asas yang ditentukan (lalai ialah perpuluhan). intval() tidak boleh digunakan dengan objek, jika tidak, ralat E_NOTICE akan dihasilkan dan 1 akan dikembalikan.
Perihalan parameter:int intval ( mixed $var [, int $base = 10 ] )$var: nilai kuantiti yang hendak ditukar kepada integer.
$base: Asas yang digunakan untuk penukaran.
Jika asas ialah 0, asas yang digunakan ditentukan dengan menyemak format var:
Jika rentetan mengandungi "0x" ( atau "0X"), gunakan perenambelasan (hex); jika tidak,
Nilai maksimum bergantung pada sistem pengendalian. Julat integer bertanda maksimum pada sistem 32-bit ialah -2147483648 hingga 2147483647. Sebagai contoh, pada sistem sedemikian, intval('1000000000000') akan mengembalikan 2147483647. Pada sistem 64-bit, nilai integer bertanda maksimum ialah 9223372036854775807.
Jika rentetan bermula dengan "0", gunakan oktal (oktal); >
akan menggunakan perpuluhan.- Nilai pulangan
- Mengembalikan nilai integer var apabila berjaya dan mengembalikan 0 apabila gagal. Tatasusunan kosong mengembalikan 0, tatasusunan tidak kosong mengembalikan 1.
- String mungkin kembali 0, walaupun ia bergantung pada aksara paling kiri rentetan.
- Kaedah 2: Gunakan fungsi intval() dan operator "==" untuk menilai
Anda hanya perlu menukar rentetan ialah integer, dan kemudian tentukan sama ada integer itu sama dengan rentetan sebelumnya.
Analisis:
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ $result = intval($str); if($result==$str){ echo "$str 字符串是整数字符串<br><br>"; } else{ echo "$str 字符串不是整数字符串<br><br>" ; } } f("678"); f("678d"); f("a678"); f("3.14"); ?>
Gunakan fungsi intval() untuk menukar rentetan ke dalam nilai Integer
is_numeric() fungsiis_numeric() fungsi digunakan untuk mengesan sama ada pembolehubah ialah nombor atau rentetan angka.
$var: pembolehubah untuk dikesan.
bool is_numeric ( mixed $var )Nilai pulangan
- Jika pembolehubah yang dinyatakan ialah nombor atau rentetan angka, ia akan mengembalikan BENAR, jika tidak, ia akan mengembalikan FALSE jenis mengembalikan 1 , iaitu, BENAR.
fungsi strpos()
- fungsi strpos() mencari kejadian pertama rentetan dalam rentetan lain (Tulis sensitif saiz).
$string: diperlukan. Menentukan rentetan yang hendak dicari.
strpos($string,$find,$start)$find: diperlukan. Menentukan aksara untuk dicari.
- $start: Pilihan. Menentukan lokasi dari mana untuk memulakan carian.
- Nilai pulangan:
- Mengembalikan kedudukan kejadian pertama rentetan dalam rentetan lain, atau mengembalikan jika rentetan itu tidak ditemui FALSE . Nota: Kedudukan rentetan bermula dari 0, bukan dari 1.
Pembelajaran yang disyorkan: "
- Tutorial Video PHP
"
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada ia adalah rentetan integer dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!