A. 誰幫我寫個php代碼,比較2個字元串中包含與被包含的關系
分談返蘆類: 電腦/網路 >> 程序設計 >> 其他編程語言
問題描述:
$a="其我額人他以個分對方";
$b="我";
如何判斷 $a中包含$b中的一個字元串
$b中的字元如果是$a中的任何一個那麼輸出 正確
$b中的字元如果沒有一個是$a中的 那麼輸出 錯誤
現在$b中有個"我",$a中也有個"我",所以應該輸出正確
但是代碼怎麼寫呢
解析:
首先是輸入的HTML文件
<>
<head>
<title>
判斷字元包含關系
</title>
</head>
<body>
<h1>請在下面兩個文本框中輸入不同字元串</h1>
<form method = "post"
action = "pare.php">
字元串一:<input type = "text"
name = "input1"
value = ""><br>
字元串二:<input type = "text"
name = "input2"
value = ""><br>
<input type = "submit"
value = "比較">
</form>
</body>
</>
存為pare
然後是php文件
<>
<head>
<title>
比較結含帶果
</title>
</head>
<body>
<?php
去掉字元串前後的空格
$input1 = trim($input1);
$input2 = trim($input2);
比較兩個字元串
if (strstr($input1,$input2)){
print "<h1>正確</h1>";
} else{
print "<h1>錯誤</h1>";
}
?>
</body>
</>
存為pare.php
其實這個程序的關鍵就是strstr()這個函數,其他的沒什麼難的
但是這個程序也存在個問題,這也是我在學php時一直困擾我的問題,那就是php對中文的支持不世棚好,我編輯的許多應用在處理數字和英文時都沒有問題,但是在處理中文時就會有毛病。
這個代碼在處理有的中文字元串時可以比較,但是有的又不行,希望和大家一起探討下
B. 請問PHP如何比對兩組字元串,其中包含大小字母、中英文
for($i = 0; $i<count($a);$i++){
for($j = 0;$j<count($b);$j++){
if($a[i] == $b[j]){
echo $a[i];
}}}
C. PHP 字元串比較
復制PHP手冊上的解釋:
strcmp — 二進制安全笑神稿字元串比較
說明
int strcmp ( string $str1 , string $str2 )
注意該比較區分大小寫。
參數
str1
第碰孝一個字元串。
str2
第瞎山二個字元串。
返回值
如果 str1 小於 str2,返回負數;如果 str1 大於 str2,返回正數;二者相等則返回 0。
D. php比較相似字元串的方法
本文實例講述了php比較相似字元串的方法。分享給大家供大家參考。具體分析如下:
這里通過php的similar_text函數比較兩個字元串的相似性。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$word2compare
=
stupid;
$words
=
array(
'stupid',
'stu
and
pid',
'hello',
'foobar',
'stpid',
'upid',
'stuuupid',
'sstuuupiiid',
);
while(list($id,
$str)
=
each($words)){
similar_text($str,
$word2compare,
$percent);
print
Comparing
'$word2compare'
with
'$str':
;
print
round($percent)
.
%n;
}
/*
Results:
Comparing
'stupid'
with
'stupid':
100%
Comparing
'stupid'
with
'stu
and
pid':
71%
Comparing
'stupid'
with
'hello':
0%
Comparing
'stupid'
with
'foobar':
0%
Comparing
'stupid'
with
'stpid':
91%
Comparing
'stupid'
with
'upid':
80%
Comparing
'stupid'
with
'stuuupid':
86%
Comparing
'stupid'
with
'sstuuupiiid':
71%
*/
希望本文所述對大家的php程序設計有所幫助。
E. 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));
F. PHP語言中如何比較兩個字元串完全相等
== 判斷字元串相等應該可以呀。
== 對於這個 0 和 ''是相等的,因為他們是false.
=== 這個是絕對的等於。 你試試、
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. PHP中strcmp()和strcasecmp()函數字元串比較用法分析
本文實例講述了PHP中strcmp()和strcasecmp()函數字元串比較用法。分享給大家供大家參考,具體如下:
一、PHP中strcmp()函數用於比較兩個字元串(區分大小寫),其定義如下:
strcmp(string1,string2)
參數說明:
string1
必需。規定要比較的第一個字元串。
string2
必需。規定要比較的第二個字元串。
PS:strcmp()函數與
strncmp()
函數類似,不同的是,strncmp()可以指定每個字元串用於比較的字元數。
二、PHP中strcasecmp()函數比較兩個字元串(不區分大小寫),其定義如下:
strcasecmp(string1,string2)
參數說明:
string1 必需。規定要比較的第一個字元串。
string2 必需。規定要比較的第二個字元串。
PS:strcasecmp()函數與
strncasecmp()
函數類似,不同的是,strncasecmp()可以指定每個字元串用於比較的字元數。
示例代碼:
<?php
$str1="腳本之家";
$str2="腳本之家";
$str3="www.jb51.net";
$str4="www.JB51.NET";
echo
strcmp($str1,$str2);//兩個字元串相等
echo
"<br/>";
echo
strcmp($str3,$str4);//注意該函數區分大小寫
echo
"<br/>";
echo
strcasecmp($str3,$str4);//該函數不區分大小寫
?>
運行結果如下:
0
1
0
補充:關於返回值問題
針對參數string1與string2的比較:
如果兩個字元串相等,則返回值為
0
如果
string1
小於
string2,則返回值小於0
如果
string1
大於
string2,則返回值大於0
希望本文所述對大家PHP程序設計有所幫助。
I. php 如何比較兩個中文字元串是否相等
普通比較用==類型和字元都比較用=== 即全等 比如 1和true用===比較的話就是不相等,用==比較的話就是相等的(前者是int型後者是bool型)1和"1"用===比較的話就是不相等,用==比較的話就相等(前者是int型,後者是str型)另:abc和Abc用==比較是不相等的.如果你在比較時出現另一個比較對像有可能大寫時,可以用strtolower把那個可能出現大寫的字元串轉成全小寫的再比較.
J. 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;
}