Apprentissage des chaînes PHP : comparer deux chaînes

青灯夜游
Libérer: 2023-04-10 13:38:01
original
6198 Les gens l'ont consulté
<p>Dans l'article précédent, nous avons découvert la méthode d'épissage de deux chaînes. Si vous en avez besoin, veuillez lire "<a href="https://www.php.cn/php-weizijiaocheng-480731.html" target="_blank">Apprenez à utiliser les opérateurs PHP pour assembler deux chaînes</a>". Aujourd’hui, nous allons apprendre à comparer deux cordes, apprenons ensemble ! </p> <p>La comparaison de chaînes est une opération courante dans le traitement de chaînes. Il existe de nombreuses façons de comparer deux chaînes en PHP. Cet article présentera trois méthodes de comparaison courantes à travers des exemples de code : </p> <ul style="list-style-type: disc;"> <li><p>Utilisez les opérateurs de comparaison : <code>==<span. style="font-family:Microsoft Yahei, Hiragino Sans GB, Helvetica, Helvetica Neue, 微软雅é»', Tahoma, Arial, sans-serif">/ </span.></code><code>===</code>, <code>></code>, <code>, etc.<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></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">Copier après la connexion</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">Copier après la connexion</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></li></p><p>Fonction intégrée strcmp()</p></li> <p></p>Fonction intégrée strcasecmp()<table></li></ul><tbody><strong>1. Utilisation d'opérateurs de comparaison</strong><tr class="firstRow"><th style="word-break: break-all;">Nous pouvons utiliser <code>==</code> (double signe égal) ou <code>===</code> (triple signe égal) pour comparer si les chaînes sont égales. <br/></th><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">Copier après la connexion</div></div><th>Résultat de sortie :<br/></th><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">Copier après la connexion</div></div><blockquote><th><strong>La différence entre <code>==</code> et <code>===</code> :</strong > == ne compare pas les types, le triple signe égal ===, il ne convertit pas les types </th></tr> Lors de la comparaison à l'aide de l'opérateur d'égalité (==), si deux valeurs​​sont identiques (il compare uniquement les valeur de la variable, pas le type de données), une valeur vraie est renvoyée ; si les deux valeurs ne sont pas identiques, une valeur fausse est renvoyée. <tr><td>Lors de la comparaison à l'aide de l'opérateur d'identité (===), il regarde si deux variables (expressions ou constantes) ont des valeurs égales et ont le même type de données, c'est-à-dire que les deux sont des chaînes ou les deux sont des entiers, etc. attendez . Cet opérateur renvoie vrai si deux variables contiennent la même valeur et le même type de données, sinon il renvoie faux. </td></blockquote><td>Nous pouvons utiliser <code><</code> (inférieur à) ou <code>></code> (supérieur à) pour comparer la taille des chaînes. </td><div class="code" style="position:relative; padding:0px; margin:0px;"><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">Copier après la connexion</div></div><div class="contentsignin">Copier après la connexion</div></div><td> Résultat de sortie : </td><div class="code" style="position:relative; padding:0px; margin:0px;"><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">Copier après la connexion</div></div><div class="contentsignin">Copier après la connexion</div></div></tr> Liste des opérateurs de comparaison PHP : <tr><td></td><td></td>Opérateur de comparaison <td></td>Nom</tr><tr>Description<td></td><td></td>$a == $b<td></td>equal</tr><tr>if $a après conversion de type Si le les valeurs de $a et $b sont égales, TRUE est renvoyé, sinon FALSE est renvoyé <td></td><td></td>$a === $b<td></td>Congruent</tr><tr>Si $a et $b sont non seulement égaux en valeur, mais également. les types de leurs valeurs sont également égaux, alors renvoie VRAI, sinon renvoie FAUX<td></td><td></td>$a != $b<td></td> n'est pas égal à</tr><tr>Si la valeur de $a n'est pas égale à la valeur de $ b après la conversion de type, renvoie VRAI, sinon renvoie FAUX<td></td><td></td>$a <> $b<td></td> n'est pas égal à </tr><tr> est identique à != Si la valeur de $a n'est pas égale à la valeur. de $b après la conversion de type, il renvoie VRAI, sinon il renvoie FAUX<td></td><td></td>$a !== $b <td></td>Non congruent</tr><tr>Si la valeur de $a n'est pas égale à la valeur de $b, ou la les types de leurs valeurs sont différents, alors retournez VRAI, sinon retournez FALSE<td></td><td></td>$a < $b<td></td>small et</tr><tr>if $ Si la valeur de a est inférieure à la valeur de $b, alors VRAI est renvoyé, sinon FALSE est renvoyé <td></td><td>$a <= $b</td><td>inférieur ou égal à </td></tr>Si la valeur de $a est inférieure ou égale à la valeur de $b, elle renvoie VRAI, sinon. il renvoie FAUX<tr><td></td><td>$a >= $b</td><td> est supérieur à Égal à</td></tr>Si la valeur de $a est supérieure ou égale à la valeur de $b, alors renvoie VRAI, sinon renvoie FAUX<tr><td> </td><td>$a <=> $b</td><td>Opérateur de vaisseau spatial (opérateur de comparaison combinée)</td></tr>quand Lorsque $a est inférieur, égal ou supérieur à $b, une valeur entière inférieure, égale ou supérieure que 0 est renvoyé respectivement. PHP7 commence à fournir.</tbody></table>🎜🎜$a ?? $b ?? $c 🎜🎜Opérateur de fusion NULL🎜🎜Le premier opérande qui existe de gauche à droite et n'est pas NULL. Si ni l’un ni l’autre n’est défini et n’est NULL, NULL est renvoyé. Disponible à partir de PHP7. 🎜🎜🎜🎜<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;"><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">Copier après la connexion</div></div><div class="contentsignin">Copier après la connexion</div></div><p>输出:<br/></p><p><img src="https://img.php.cn/upload/image/890/419/489/162797046690039Apprentissage des chaînes PHP : comparer deux chaînes" title="162797046690039Apprentissage des chaînes PHP : comparer deux chaînes" alt="Apprentissage des chaînes PHP : comparer deux chaînes"/></p><p>strcmp()函数在比较字符串时,是区分大小写的。</p><div class="code" style="position:relative; padding:0px; margin:0px;"><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">Copier après la connexion</div></div><div class="contentsignin">Copier après la connexion</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">Copier après la connexion</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">Copier après la connexion</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">Copier après la connexion</div></div><p>输出结果:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">两个网址相同</pre><div class="contentsignin">Copier après la connexion</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>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal