乙個php 字串判斷問題

2021-09-07 05:27:18 字數 1261 閱讀 1795

先看**

你覺得下面的**會輸出什麼結果:

<?php

$a = "10";

$b = "1e1";

if($a == $b ) else

輸出結果是:相等

檢視官網 .

當乙個字串被當作乙個數值來取值,其結果和型別如下:

如果該字串沒有包含 '.','e' 或 'e' 並且其數字值在整型的範圍之內(由 php_int_max 所定義),該字串將被當成 integer 來取值。其它所有情況下都被作為 float 來取值。

該字串的開始部分決定了它的值。如果該字串以合法的數值開始,則使用該數值。否則其值為 0(零)。合法數值由可選的正負號,後面跟著乙個或多個數字(可能有小數點),再跟著可選的指數部分。指數部分由 'e' 或 'e' 後面跟著乙個或多個數字構成。

<?php

$foo = 1 + "10.5"; // $foo is float (11.5)

$foo = 1 + "-1.3e3"; // $foo is float (-1299)

$foo = 1 + "bob-1.3e3"; // $foo is integer (1)

$foo = 1 + "bob3"; // $foo is integer (1)

$foo = 1 + "10 small pigs"; // $foo is integer (11)

$foo = 4 + "10.2 little piggies"; // $foo is float (14.2)

$foo = "10.0 pigs " + 1; // $foo is float (11)

$foo = "10.0 pigs " + 1.0; // $foo is float (11)

?>

知道這個原理後,列印一下上面的數值型別。

<?php

$a = "10";

$b = "1e1";

$b = floatval($b);

var_dump($a,$b);

if($a == $b ) else

執行結果:

string(2) "10"

float(10)

相等

php判斷乙個字串包含另乙個字串

a 58252,58253 如果 a 中存在 b,則為 true 否則為 false。b 58253 if strpos a,b false else 查詢字串在陣列中出現的次數 array array 1,hello 1,world hello 11 計算 string在 array 需為陣列 中...

乙個很難的字串問題

問題描述 有 n 個 regex 正規表示式 標號從 0 到 n 1,n 可能很大 比如說100萬 給定乙個字串,返回能 match 這個字串的所有正規表示式標號。用 c 來描述這個需求 class multiregex return the index no.of the internal reg...

PHP簡單判斷字串是否包含另乙個字串的方法

本文例項講述了php簡單判斷字串是否包含另乙個字串的方法。分享給大家供大家參考,具體如下 在使用php判斷某字串中是否包含乙個簡單的子字串的時候,我們通常會用到s程式設計客棧trpos 或者stristr 這兩個函式,可是偏偏如果這個字串的位置如果是在索引0位置,也就是說在要匹配的字串的最開始,則會...