首頁 > 後端開發 > php教程 > PHP字串學習之比較兩個字串

PHP字串學習之比較兩個字串

青灯夜游
發布: 2023-04-10 13:38:01
原創
6255 人瀏覽過
<p>上一篇文章中我們了解了拼接兩個字串的方法,有需要的請看《<a href="https://www.php.cn/php-weizijiaocheng-480731.html" target="_blank">教你使用PHP運算子將兩個字串拼接在一起</a>》。今天我們來了解下比較兩個字串的方法,一起來學習吧! </p> <p>字串比較是字串處理中常見的一種操作,PHP中比較兩個字串有很多方法,這篇文章透過程式碼實例來給大家介紹三種常見的比較方法:</p> <ul style="list-style-type: disc;"> <li><p>使用比較運算子:<code>==<span style="font-family:Microsoft Yahei, Hiragino Sans GB, Helvetica, Helvetica Neue, 微软雅黑, Tahoma, Arial, sans-serif">/</span></code><code>#===</code>、<code>></code>、<code>等</code></p></li> <li><p>內建函數strcmp()</p></li> <li><p>內建函數strcasecmp()</p></li> </ul> <p><strong>1、使用比較運算子</strong></p> <p>我們可以用<code>==</code>(雙等號)或<code>===</code>#(三等號)來比較字串是否相等。 <br></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php header("Content-type:text/html;charset=utf-8"); $str1="Hello world!"; $str2="Hello world!"; if($str1==$str2){ echo "两个字符串相等<br>"; }else{ echo "两个字符串不相等<br>"; } if($str1===$str2){ echo "两个字符串相等<br>"; }else{ echo "两个字符串不相等<br>"; } ?></pre><div class="contentsignin">登入後複製</div></div><p>輸出結果:<br/></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">两个字符串相等 两个字符串相等</pre><div class="contentsignin">登入後複製</div></div><blockquote><p><strong><code>#==</code>和<code>===</code>的差異: </strong>==不比較類型,三等號===,它不轉換類型;</p><p>使用等式(==)運算子進行比較時,如果兩個值相同(它只比較變數的值,而不是資料類型),則傳回true值;如果兩個值不相同,則傳回false值。 </p><p>使用恆等式(===)運算子進行比較時,會查看兩個變數(表達式或常數)是否值相等且具有相同的資料類型,即兩者都是字串或兩者都是整數等等。如果兩個變數包含相同的值和相同的資料類型,則此運算子傳回true,否則傳回false。 </p></blockquote><p>我們可以用<code><</code>(小於)或 <code>></code>(大於)來比較字串的大小。 </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php header("Content-type:text/html;charset=utf-8"); $str1="12"; $str2="13"; if($str1>$str2){ echo "&#39;$str1&#39; 比 &#39;$str2&#39; 大<br>"; }else{ echo "&#39;$str1&#39; 比 &#39;$str2&#39; 小<br>"; } $str1="15"; $str2="13"; if($str1<$str2){ echo "&#39;$str1&#39; 比 &#39;$str2&#39; 小<br>"; }else{ echo "&#39;$str1&#39; 比 &#39;$str2&#39; 大<br>"; } ?></pre><div class="contentsignin">登入後複製</div></div><p>輸出結果:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&#39;12&#39; 比 &#39;13&#39; 小 &#39;15&#39; 比 &#39;13&#39; 大</pre><div class="contentsignin">登入後複製</div></div><p>PHP比較運算子清單:</p><table><tbody><tr class="firstRow"><th style="word-break: break-all;">比較運算子</th><th>名稱</th><th>描述</th></tr><tr><td>$a == $b</td><td>等於</td><td>如果型別轉換後$a 和$b 的值相等,則傳回TRUE,否則傳回FALSE</td></tr><tr><td>$a === $b</td><td>全等</td><td>如果$a 和$b 不只值相等,而且它們值的型別也相等,則回傳TRUE,否則回傳FALSE</td></tr><tr><td>$a != $b</td><td>不等於</td><td>如果型別轉換後$a 的值不等於$b 的值,則返回TRUE,否則返回FALSE</td></tr><tr><td>$a <> $b</td><td>不等於</td><td>與! = 相同,如果型別轉換後$a 的值不等於$b 的值,則傳回TRUE,否則傳回FALSE</td></tr><tr><td>$a !== $b</td>##不全等<td></td>如果$a 的值不等於$b的值,或它們值的型別不同,則傳回TRUE,否則傳回FALSE<td></td></tr><tr>$a < $ b<td></td>小與<td></td>如果$a 的值小於$b 的值,則傳回TRUE,否則傳回FALSE<td></td></tr>##$a > $b<tr><td>大於</td><td>如果$a 的值大於$b 的值,則傳回TRUE,否則傳回FALSE</td><td></td></tr>$a <= $b<tr><td>小於等於</td><td>如果$a 的值小於或等於$b 的值,則傳回TRUE,否則傳回FALSE</td><td></td></tr>$a >= $ b<tr><td>大於等於</td><td>如果$a 的值大於或等於$b 的值,則傳回TRUE,否則傳回FALSE</td><td></td>##$a < => $b</tr><tr>太空船運算子(組合比較子)<td></td>當$a小於、等於、大於$b時分別傳回一個小於、等於、大於0的整數值。 PHP7開始提供.<td></td><td></td>$a ?? $b ?? $c   </tr><tr>NULL合併運算子<td></td>從左到右第一個存在且不為NULL 的操作數。如果都沒有定義且不為 NULL,則傳回 NULL。 PHP7開始提供。 <td></td><td></td><p>除了可以使用比较运算符来比较字符串外,还可以使用函数来比较字符串。PHP 中提供了两个函数来实现字符串比较功能,分别是 strcmp() 和 strcasecmp() 函数,我们来看看。</p><p><strong>2、使用内置函数strcmp()--以区分大小写的方式比较两个字符串</strong></p><p><code>strcmp(string1,string2)</code>比较两个字符串时,如果:</p><ul style="list-style-type: disc;"><li><p>如果两个字符串相等,则会返回<code>0</code>;</p></li><li><p>如果string1 小于 string2,则会返回<code>< 0</code> 的值;</p></li><li><p>如果string1 大于 string2,则会返回<code>> 0</code> 的值;</p></li></ul><p>我们先来看下面一个例子:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php $str1="12"; $str2="12"; echo strcmp($str1,$str2)."<br>"; $str1="12"; $str2="13"; echo strcmp($str1,$str2)."<br>"; $str1="15"; $str2="13"; echo strcmp($str1,$str2)."<br>"; ?></pre><div class="contentsignin">登入後複製</div></div><p>输出:<br/></p><p><img src="https://img.php.cn/upload/image/890/419/489/162797046690039PHP字串學習之比較兩個字串" title="162797046690039PHP字串學習之比較兩個字串" alt="PHP字串學習之比較兩個字串"/></p><p>strcmp()函数在比较字符串时,是区分大小写的。</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php $str1="PHP中文网"; $str2="php中文网"; echo strcmp($str1,$str2)."<br>"; ?></pre><div class="contentsignin">登入後複製</div></div><p>输出结果:<br/></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">-1</pre><div class="contentsignin">登入後複製</div></div><p>借助这个特性,我们可以将其运用在网站注册账号时的确认用户密码功能中(密码通常是区分大小写的),比较两次输入的密码是否一致。<br/></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php header("Content-type:text/html;charset=utf-8"); $pwd1 = &#39;php124@qq&#39;; $pwd2 = &#39;php124@QQ&#39;; if(strcmp($pwd1, $pwd2) != 0){ echo &#39;密码不匹配!&#39;; } else { echo &#39;密码匹配!&#39;; } ?></pre><div class="contentsignin">登入後複製</div></div><p>只有两个字符串完全匹配,strcmp()函数才会认为相等的;而在上面示例中,$pwd1 和 $pwd2的大小写不同,因此两个字符串不相等。</p><p>但有时,我们只需要比较字符串的值,不想区分大小写,例如比较网站的网址,那要怎么处理?简单,可以使用strcasecmp()函数。</p><p><strong>3、使用内置函数strcasecmp()--以不区分大小写的方式比较两个字符串</strong></p><p>strcasecmp()函数和strcmp()函数类似,都可比较字符串,返回值也相同,区别只是strcasecmp()函数不区分大小写。</p><p>下面我们来看看下面一个例子:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php header("Content-type:text/html;charset=utf-8"); $url1="https://www.php.cn/"; $url2="HTTPS://WWW.PHP.CN/"; if(strcasecmp($url1, $url2) == 0){ echo &#39;两个网址相同&#39;; } else { echo &#39;两个网址不同&#39;; } ?></pre><div class="contentsignin">登入後複製</div></div><p>输出结果:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">两个网址相同</pre><div class="contentsignin">登入後複製</div></div><p>好了就说到这里了,有其他想知道的,可以点击这个哦。→ →<a href="https://www.php.cn/course/list/29.html" target="_blank">php视频教程</a></p> <p> 最后给大家推荐阅读一个经典课程《<a href="https://www.php.cn/course/1105.html" target="_blank">PHP字符串处理(玉女心经版)</a>》,免费的~快来学习啊!</p>

以上是PHP字串學習之比較兩個字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板