首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 字符串隨機分割為不定長數組:RandomSplit 函數實現

     編輯:PHP 相關知識

PHP 字符串隨機分割為不定長數組:RandomSplit 函數實現

在測試數據生成、模糊匹配、壓力測試等場景下,需將字符串按隨機長度切分為數組。本文提供 RandomSplit($min, $max, $str) 函數,支援指定最小/最大切片長度。

核心實現

function RandomSplit($min, $max, $str) {
    $result = [];
    while ($str !== '') {
        // 隨機長度,不超過剩餘字符串長度
        $len = rand($min, $max);
        $len = ($len > strlen($str)) ? strlen($str) : $len;

        $piece = substr($str, 0, $len);
        $str = substr($str, $len);
        $result[] = $piece;
    }
    return $result;
}

使用示例

$test = 'This is a example to test the RandomSplit function.';
print_r(RandomSplit(1, 7, $test));
/* 可能輸出:
Array
(
    [0] => This
    [1] => is
    [2] => a exam
    [3] => ple to
    [4] => test t
    [5] => he
    [6] => 
    [7] => ran
    [8] => d_spl
    [9] => it f
    [10] => un
    [11] => ction.
)
*/

應用場景

  • 生成測試用的不定長 Token、密碼片段。
  • 模擬網絡封包分片、流式傳輸切片。
  • 自然語言處理中的隨機 n-gram 切分基準。

擴展建議

  1. 支援 UTF-8 多字節字符:使用 mb_substr、mb_strlen、mb_str_split(PHP 7.4+)。
  2. 加入分隔符保留選項:切分時保留標點/空格作為獨立元素。
  3. 實現為生成器(yield),節省大字符串記憶體。

一個簡單函數,解決字符串隨機切分的通用需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved