Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesan sama ada rentetan ialah nombor dalam php

Bagaimana untuk mengesan sama ada rentetan ialah nombor dalam php

青灯夜游
青灯夜游asal
2022-08-29 19:21:535414semak imbas

Dua kaedah pengesanan: 1. Gunakan fungsi is_numeric() untuk mengesan sama ada rentetan ialah rentetan angka Sintaks ialah "is_numeric (rentetan)". 2. Tukar rentetan kepada jenis angka, dan kemudian bandingkan nombor dengan rentetan asal untuk menentukan sama ada sintaksnya ialah "strcmp((float)$str,$str)==0". , sebaliknya tidak.

Bagaimana untuk mengesan sama ada rentetan ialah nombor dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi PHP 8.1, komputer DELL G3

Kaedah 1: Gunakan is_numeric () Fungsi mengesan bahawa rentetan

mengandungi nombor sahaja, maka rentetan itu ialah rentetan angka.

Fungsi is_numeric() boleh mengesan sama ada rentetan ialah rentetan angka.

is_numeric ($var)
  • $var: pembolehubah untuk dikesan.

Mengembalikan BENAR jika pembolehubah yang ditentukan $var ialah nombor atau rentetan angka, jika tidak, mengembalikan FALSE. Ambil perhatian bahawa float mengembalikan 1, iaitu BENAR. (iaitu boleh menyemak kedua-dua integer dan perpuluhan).

<?php
header("Content-type:text/html;charset=utf-8");
function f($str){
	if (is_numeric($str)){
    	echo "$str 是数字字符串<br><br>";
	}
	else{
	    echo "$str 不是数字字符串<br><br>" ;
	}
}
f("a678");
f("678");
f("3.14");

?>

Bagaimana untuk mengesan sama ada rentetan ialah nombor dalam php

Kaedah 2: Jenis hantaran dan bandingkan untuk kesamarataan

  • Dengan jenis hantaran, tukar rentetan menjadi jenis angka

  • Bandingkan nombor dengan rentetan asal untuk melihat sama ada ia sama

    Jika ia sama, rentetan asal ialah rentetan angka.

<?php
header("Content-type:text/html;charset=utf-8");
function f($str){
	$num=(float)$str;
	if (strcmp($num,$str)==0){
    	echo "$str 是数字字符串<br><br>";
	}
	else{
	    echo "$str 不是数字字符串<br><br>" ;
	}
}
f("3.14");
f("a678");
f("678");
f("23d5");
?>

Bagaimana untuk mengesan sama ada rentetan ialah nombor dalam php

Arahan:

1 🎜> Hanya tambahkan jenis sasaran yang disertakan dalam kurungan sebelum pembolehubah yang hendak ditukar Jenis pembolehubah yang dibenarkan dalam kurungan adalah seperti berikut:

    (int), (integer) : Tukar kepada. jenis integer;
  • (bool), (boolean): Tukar kepada jenis Boolean; ): Tukar kepada jenis titik terapung;
  • (rentetan): Tukar kepada jenis rentetan;
  • (objek): ditukar kepada jenis objek.
  • 2. Fungsi strcmp()
  • fungsi strcmp() membandingkan dua rentetan.

  • Nilai pulangan: Fungsi mengembalikan:
      0 - jika dua rentetan adalah sama
      <?php
      header(&#39;content-type:text/html;charset=utf-8&#39;);   
      $str = &#39;123.456abc&#39;;
      echo &#39;原变量 $str 的类型为:&#39;.gettype($str)."<br>";
      $int = (int)$str;
      echo &#39;变量 $int 的类型为:&#39; . gettype($int) . &#39;<br>&#39;;
      $float = (float)$str;
      echo &#39;变量 $float 的类型为:&#39; . gettype($float) . &#39;<br>&#39;;
      $bool = (bool)$str;
      echo &#39;变量 $bool 的类型为:&#39; . gettype($bool). &#39;<br>&#39;;
      $arr = (array)$str;
      echo &#39;变量 $arr 的类型为:&#39; . gettype($arr);
      ?>

      >0 - jika string1 lebih besar daripada string2

      Pembelajaran yang disyorkan: "

      Tutorial Video PHP
      strcmp(string1,string2)
      "
      返回值: 该函数返回:
      • 0 - 如果两个字符串相等
      • >0 - 如果 string1 大于 string2

    Atas ialah kandungan terperinci Bagaimana untuk mengesan sama ada rentetan ialah nombor dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    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