導航:首頁 > 編程語言 > php判斷字元串不相同

php判斷字元串不相同

發布時間:2023-04-22 08:29:01

A. php strcmp比較二個相等字元串時,返回不是0,不相等。

split已經比較老了···用explode試試
我剛測試
$string = "ipvar HOME_NET 192.168.12.0/16\nipvar HOME_NET 192.168.12.0/16";
$content = explode("\n", $string);
echo strcmp($content[0], $content[1]); // 0
也有可能是你的文本編碼和代碼的編碼不一致造成···你的文本最好用你的ide重新保存一次··之前我弄一個還原sql的功能,就是因為用記事本保存了一個utf8格式的文本,然後我用我的程序讀sql語句··寫入資料庫···提示錯誤··找了老半天···是記事本保存的utf8·和我ide保存的utf8不同造成···我用ide保存之後再去讀就沒有問題···

B. PHP怎麼判斷字元串中包含重復相同的數字

先把字元串以一個字元為單位,轉換成數組
然後,數組去重array_unique
如果和之前的count不一樣,那麼久是包含了重復相同的數字

C. php怎麼比較兩個字元串

$a="abcde12";
$b="abcdf6";
echo "<pre>";
var_mp(diffStr($a,$b));
echo "</pre>";
/*
*比較字元串不同的字元
*@參數:$str1:第一個字元串,$str2:第二個字元串
*@<a href="https://www..com/s?wd=%E8%BF%94%E5%9B%9E%E5%80%BC&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">返回值</a>:不同字元串的數組,
*/
function diffStr($str1,$str2){
$sArr1 = str_split($str1);
$sArr2 = str_split($str2);

$num1 = count($sArr1);
$num2 = count($sArr2);

$aNew = array();

if($num1 > $num2){
foreach($sArr1 as $k=>$val){
if($num2 > $k && $val != $sArr2[$k]){
$aNew[] = array('s1'=>$val,'s2'=>$sArr2[$k]);
}elseif($num2 <= $k){
$aNew[] = array("s1"=>$val);
}
}
}elseif($num1 < $num2){
foreach($sArr2 as $k=>$val){
if($num1 > $k && $val != $sArr1[$k]){
$aNew[] = array('s1'=>$sArr1[$k],'s2'=>$val);
}elseif($num1 <= $k){
$aNew[] = array("s2"=>$val);
}
}
}elseif($num1 == $num2){
foreach($sArr1 as $k=>$val){
if($val != $sArr2[$k]){
$aNew[] = array('s1'=>$val,'s2'=>$sArr2[$k]);
}
}
}

return $aNew;
}

D. PHP 兩字元串比較,值相同 對比卻不相等

在PHP中,可以用==(雙等號)或者 ===(三等號)來比較字元串。兩者的區別是雙等號不比較類型,三等號會比較類型,它不轉換類型;用雙等號進行比較時,如果等號左右兩邊有數字類型的值,剛會把另一個值轉化為數字,然後進行比較。這樣的話,如果是純字元串或者NULL時,會轉化為0進行比較。同樣,大小於號也和等號一樣,比較時可能出現不正確的結果。
所以,比較字元串可以用PHP的自帶函數strcmp和strcasecmp。其中strcasecmp是strcmp的變種,它會先把字元串轉化為小寫再進行比較。 如下代碼:
var_mp(0 == 'Test');
var_mp(0 == '');
var_mp(5 > 'T');
var_mp(strcmp(5, 'T'));
運行結果:
bool(true)
bool(true)
bool(true)
int(-1)

E. php 字元串包含判斷問題

$a = 'abcdefg';
$b = 'bxyz';
$a = str_split($a);
$b = str_split($b);
if(array_intersect($a,$b))
{
echo '二含有一的其中N個字母';//你自己想辦法找到這些字母及個數
}
if(!array_intersect($a,$b))
{
echo '二不包含一中的任何一個字母';
}

F. php判斷字元串是否相等

php簡單判斷兩個字元串是否相等的方法

具體實現方法如下:

<?php
functionstrcomp($str1,$str2){
if($str1==$str2){
returnTRUE;
}else{
returnFALSE;
}
}
echostrcomp("Firststring","Secondstring");
//ReturnsFALSE
echostrcomp("Astring","Astring");
//ReturnsTRUE
?>

G. php關於兩個字元串的比較!!

剛寫,例子如下:

$a="abcde12";
$b="abcdf6";
echo"<pre>";
var_mp(diffStr($a,$b));
echo"</pre>";
/*
*比較字元串不同的字元
*@參數:$str1:第一個字元串,$str2:第二個字元串
*@返回值:不同字元串的數組,
*/
functiondiffStr($str1,$str2){
$sArr1=str_split($str1);
$sArr2=str_split($str2);

$num1=count($sArr1);
$num2=count($sArr2);

$aNew=array();

if($num1>$num2){
foreach($sArr1as$k=>$val){
if($num2>$k&&$val!=$sArr2[$k]){
$aNew[]=array('s1'=>$val,'s2'=>$sArr2[$k]);
}elseif($num2<=$k){
$aNew[]=array("s1"=>$val);
}
}
}elseif($num1<$num2){
foreach($sArr2as$k=>$val){
if($num1>$k&&$val!=$sArr1[$k]){
$aNew[]=array('s1'=>$sArr1[$k],'s2'=>$val);
}elseif($num1<=$k){
$aNew[]=array("s2"=>$val);
}
}
}elseif($num1==$num2){
foreach($sArr1as$k=>$val){
if($val!=$sArr2[$k]){
$aNew[]=array('s1'=>$val,'s2'=>$sArr2[$k]);
}
}
}

return$aNew;
}

H. 怎麼比較2個string的不同字母有幾個

比較兩個字元串是否相等,最常見的方法就是使用「===」來判斷,手畝掘至於它和「==」的區別,簡單來說就是前者強調「identical」類型也要求一樣;後者要求「equal」,值相同就可以了,參畢核考【1】。或者使用strcmp來判斷,但是這個能夠告訴你兩個字元串是否相等耐檔,但是無法告訴你在那裡不同。我的思路是單字元串分割為一個個字母(character),這樣比較就能精確知道在那個位置不同了。分隔字元串,使用「str_split」就可以了,語法參考【2】。然後輸出結果數組,好處是連空格也會作為數組的元素。我之前的例子就是因為前一個字元串包含2個空格,而後一個只有一個。但是輸出的時候看到的顯示都是一樣的。
也可以按照其他分隔符進行分割,如「explode」或者「preg_split」,
一般能用
!=,
==
比較兩個對象是否相等,只所以說是兩個對象,是因為他們不一定全部為字元串,也能為整型等等。比如
$a
=
"joe";
$b
=
"jerry";
if
($a
!=
$b)
{
echo
"不相等";
}
else
{
echo
"相等";
}
如果用
!==,===(能看到多了一個等號)比較的話,兩個對象的類型要嚴格相等才能返回true;否則用==,!=則會將字元串自動轉換成相應的類型,以便進行比較.
22
==
"22";
//
返回
true
22
===
"22";
//
返回false
正因為這樣,所以我們的程式時常會發生一些想不到的「意外」:
0
==
"我愛你";
//
返回true
1
==
"1
我愛你";//
返回true
php教程里更有這樣一組用於字元串比較的函數:strcmp,strcasecmp,strncasecmp(),
strncmp(),他們都是如果前者比後者大,則返回大於0的整數;如果前者比後者小,則返回小於0的整數;如果兩者相等,則返回0.他們比較的原理和其他語言的規則都是相同的。
strcmp是用於區分大小寫(即大小寫敏感)的字元串比較:
echo
strcmp("abcdd",
"abcde");
//
返回
1
(>0),
比較的是
"b"和"b"
strcasecmp用於不區分大小寫的字元串比較:
echo
strcasecmp("abcdd",
"abcde");
//
返回
-1
(<0),
比較的是"d"和"e"
strncmp用於比較字元串的一部分,從字元串的開頭開始比較,第三個參數,為要比較的長度:
echo
strncmp("abcdd",
"abcde",
3);
//
返回
1
(>0),
比較了
abc

abc
strncasecmp用於不區分大小寫的比較字元串的一部分,從字元串的開頭開始比較,第三個參數,為要比較的長度:
echo
strncasecmp("abcdd",
"abcde",
3);
//
返回
0,
比較了
abc

abc,
由於不區分大小寫,所以兩者是相同的。
更有一種情況是單單比較字元串大小,達不到我們預定的需求,比如照常理
10.gif
會比
5.gif
大,但如果應用上面幾個函數,就會返回
-1,即表示
10.gif比5.gif,針對這種情況,php提供了兩個自然對比的函數strnatcmp,strnatcasecmp:
echo
strnatcmp("10.gif",
"5.gif");
//
返回
1
(>0)
echo
strnatcasecmp("10.gif",
"5.gif");
//
返回
1
(>0)

I. php 如何比較兩個中文字元串是否相等

普通比較用==類型和字元都比較用=== 即全等 比如 1和true用===比較的話就是不相等,用==比較的話就是相等的(前者是int型後者是bool型)1和"1"用===比較的話就是不相等,用==比較的話就相等(前者是int型,後者是str型)另:abc和Abc用==比較是不相等的.如果你在比較時出現另一個比較對像有可能大寫時,可以用strtolower把那個可能出現大寫的字元串轉成全小寫的再比較.

J. php關於兩個字元串的比較!!

這類替換最好不好使用正則表達式,因為你搜索的內容的唯一的無需使用正在,而且替換的文本較大正則效率太低。
方法是找到這兩個特殊字元串的位置,然後使用substr刪除中間部分,例子代碼:
$str='....你要處理的字元串.....';
$s1='...開始字元串...';
$s2='...結束字元串...';
$i1=strpos($str,$s1);//開始位置
$i2=strpos($str,$s2);//結束位置
if
($i1!==false
&&
$i2!==false)//找到
$str=substr($str,0,$i1-1)
.
substr($str,$i2+strlen($s2));

閱讀全文

與php判斷字元串不相同相關的資料

熱點內容
怎麼初步認識編程 瀏覽:208
為什麼程序員都喜歡谷歌 瀏覽:891
壓縮性骨拆能自愈嗎 瀏覽:277
安卓怎麼設置游戲畫面 瀏覽:114
k線上寫字源碼 瀏覽:457
單擊按鈕保存資料源碼 瀏覽:354
華為gt加密卡 瀏覽:213
河北超融合伺服器廠家雲主機 瀏覽:894
芙兒優安全座椅app怎麼連接 瀏覽:294
專業美團騎手app怎麼開通 瀏覽:949
個人音樂分享網站源碼 瀏覽:375
在新電腦上怎麼注冊加密狗 瀏覽:123
最後一戰游戲源碼 瀏覽:5
phpmysql實例下載 瀏覽:751
傳智黑馬安卓非加密 瀏覽:553
伺服器如何配置host 瀏覽:1001
守望執行命令 瀏覽:371
加密狗插上去了怎麼辦 瀏覽:624
錘子m1怎麼把文件夾重置 瀏覽:213
APP的數據會存在哪裡 瀏覽:66