Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menentukan sama ada ia adalah rentetan integer dalam php

Bagaimana untuk menentukan sama ada ia adalah rentetan integer dalam php

青灯夜游
Lepaskan: 2023-03-17 19:14:01
asal
1954 orang telah melayarinya

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" .

Bagaimana untuk menentukan sama ada ia adalah rentetan integer dalam php

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");
?>
Salin selepas log masuk

Bagaimana untuk menentukan sama ada ia adalah rentetan integer dalam php

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.

  • Penjelasan:

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

$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,

  • 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.

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.
  • 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.
Contoh:

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");
?>
Salin selepas log masuk

Gunakan fungsi intval() untuk menukar rentetan ke dalam nilai Integer Bagaimana untuk menentukan sama ada ia adalah rentetan integer dalam php

    Gunakan operator "==" untuk menentukan sama ada nilai integer adalah sama dengan rentetan asal

  • Penerangan:

is_numeric() fungsi

is_numeric() fungsi digunakan untuk mengesan sama ada pembolehubah ialah nombor atau rentetan angka.

$var: pembolehubah untuk dikesan.

bool is_numeric ( mixed $var )
Salin selepas log masuk
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)
Salin selepas log masuk
$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!

Label berkaitan:
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan