激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP中比較兩個字符串找出第一個不同字符位置例子

PHP中比較兩個字符串找出第一個不同字符位置例子

2020-06-22 14:04PHP開發網 PHP教程

這是一個在stackoverflow上的問題。 給出兩個長度相等的字符串,找出這兩個字符串中第一個不同的字符位置。

一般的做法就會這樣:

復制代碼 代碼如下:

<?php
for ($offset = 0; $offset < $length; ++$offset) {
    if ($str1[$offset] !== $str2[$offset]) {
        return $offset;
    }
}


而問題下面給出的最佳答案是用異或操作符( ^ ),以前從來沒用過這個操作符,也不知道能用到什么地方,今天算是學到。

 

因為一般情況下,當你對兩個字符串進行異或操作的時候,相同的字符的異或結果是null(“\0”),所以我們只要找出第一個非null(“\0”)字符就可以了。

復制代碼 代碼如下:

<?php
$position = strspn($string1 ^ $string2, "\0");


很明顯這是一個更優雅高效的方法。 另外,回答的人還附加了一個多字節字符的解決辦法。

復制代碼 代碼如下:

<?php
function getCharacterOffsetOfDifference($str1, $str2, $encoding = 'UTF-8') {
    return mb_strlen($str1, $encoding)
           - mb_strlen(
                 mb_strcut(
                     $str1,
                     strspn($str1 ^ $str2, "\0"),
                     mb_strlen($str1, '8bit'),
                     $encoding
                 ),
                 $encoding
             );
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费看毛片网站 | 日日鲁夜夜视频热线播放 | 91香蕉国产亚洲一区二区三区 | 国产免费中文字幕 | 嗯~啊~弄嗯~啊h高潮视频 | 国产精品久久在线观看 | 蜜桃传媒视频麻豆第一区免费观看 | 精品亚洲网站 | 今井夏帆av一区二区 | 91久久久久久| 亚洲精品一区二区三区免 | 爱看久久 | 国产刺激高潮av | 国产午夜精品在线 | 思思久而久而蕉人 | 91精品国产综合久久婷婷香 | 欧美精品一二三区 | 一级一片免费 | 国产69精品久久99不卡免费版 | 色综合久久久久久久久久久 | avav在线播放 | 国产在线一级片 | 国产草草视频 | 国产一区视频免费观看 | 欧美精品日日鲁夜夜添 | 91精品国产777在线观看 | 久久国产免费视频 | 国产91丝袜在线播放 | 中文字幕11 | 高潮娇喘嗯啊~文字 | 国产亚洲精品久久久久5区 99精品视频在线 | 成人 日韩 | 欧美黄色一级片视频 | 一级黄色毛片播放 | 护士xxxx | arabxxxxvideos| 久久精品在线免费观看 | 久久久噜噜噜久久熟有声小说 | 久久成人午夜视频 | 久草在线高清视频 | 亚洲极色|