婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP內部實現打亂字符串順序函數str_shuffle的方法

PHP內部實現打亂字符串順序函數str_shuffle的方法

熱門標簽:臨沂智能電銷機器人軟件 銀川ai電話機器人 十堰ai電話機器人效果怎么樣 芒果電銷機器人 電梯外呼線路板維修視頻 浙江外呼電話系統軟件 安陽自動外呼系統價格是多少 上海公司外呼系統線路 地圖標注風向標

前言

2019年春節已過,今天是上班第一天,還得翻一翻之前沒有看完的PHP源碼。

今天聊的是字符串順序打亂函數str_shuffle。這個函數本身使用頻率并不高。但是,其內部實現還是非常有趣的。

str_shuffle() 函數隨機地打亂字符串中的所有字符。

要注意,打亂的是字符串中的“字符”

  • 一個字母等于一個字符
  • 一個漢字等于2個字符

自己實現

如果在沒有看PHP源碼內部實現之前,如果使用php實現內部字符串打亂順序的操作,我能想到的是下面幾種方式。

循環隨機數

使用隨機數,可以有隨機取字符串的字符拼接,或者順序取出,放到隨機數自定的位置。這兩種方式都涉及到隨機數重復的情況,需要去重。

這種方式的重點在于生成不重復的隨機數。

切分成數組然后打亂順序


用數組打亂順序的方式實現其實是有些“作弊”嫌疑。

PHP內部實現

來看看PHP內部如何實現。

其實PHP內部也是使用隨機數實現,但是他的巧妙之處在于使用隨機數抽取字符串與一個特定的字符串(最后一個)進行替換。這樣就不用去考慮隨機數重復的問題。不會因為重復到賬一些字符串被覆蓋。

文章開始的隨機數抽取,不能保證經過n次后結束,因為需要跳過隨機數重復的情況。但是php內部的實現,都是n次循環后結束。在性能上肯定比需要去重的隨機數方法要好。

兩個方法的出發點都一樣,但是稍微的不一樣就可以帶來很大的提升。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • php使用str_shuffle()函數生成隨機字符串的方法分析

標簽:常州 吐魯番 荊門 寧夏 遵義 武威 遂寧 徐州

巨人網絡通訊聲明:本文標題《PHP內部實現打亂字符串順序函數str_shuffle的方法》,本文關鍵詞  PHP,內部,實現,打亂,字符串,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP內部實現打亂字符串順序函數str_shuffle的方法》相關的同類信息!
  • 本頁收集關于PHP內部實現打亂字符串順序函數str_shuffle的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿克| 淮滨县| 西贡区| 和平县| 昆山市| 城市| 新龙县| 平乡县| 南投市| 镇平县| 凭祥市| 望江县| 永平县| 邓州市| 泰顺县| 苏尼特右旗| 永泰县| 如皋市| 敖汉旗| 贵阳市| 若羌县| 和田县| 洛浦县| 辉县市| 文化| 赤壁市| 溧阳市| 焉耆| 仁怀市| 曲松县| 名山县| 巴彦淖尔市| 安溪县| 云浮市| 景东| 平舆县| 桂平市| 高要市| 兴城市| 五莲县| 紫阳县|