先看**
你覺得下面的**會輸出什麼結果:
<?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位置,也就是說在要匹配的字串的最開始,則會...