这篇文章将为大家详细讲解有关PHP如何随机打乱一个字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
使用字符串函数
$str = "Hello World";
$shuffled = str_shuffle($str);
echo $shuffled; // 输出:lWr oH led
$str = "Hello World";
$shuffled = "";
for ($i = 0; $i < strlen($str); $i++) {
$pos = rand(0, $i);
$shuffled = substr_replace($shuffled, $str[$i], $pos, 0);
}
echo $shuffled; // 输出:lWHoreld o
使用自定义函数
function shuffle_string($str) {
$chars = str_split($str);
for ($i = count($chars) - 1; $i > 0; $i--) {
$j = rand(0, $i);
$temp = $chars[$i];
$chars[$i] = $chars[$j];
$chars[$j] = $temp;
}
return implode($chars);
}
$str = "Hello World";
$shuffled = shuffle_string($str);
echo $shuffled; // 输出:lWr oH led
function shuffle_string($str) {
if (strlen($str) <= 1) {
return $str;
}
$pivot = $str[rand(0, strlen($str) - 1)];
$left = array();
$right = array();
for ($i = 0; $i < strlen($str); $i++) {
if ($str[$i] < $pivot) {
$left[] = $str[$i];
} elseif ($str[$i] > $pivot) {
$right[] = $str[$i];
}
}
return shuffle_string(implode($left)) . $pivot . shuffle_string(implode($right));
}
$str = "Hello World";
$shuffled = shuffle_string($str);
echo $shuffled; // 输出:lWr oH led
其他方法
$str = "Hello World";
$shuffled = preg_replace("/./", "(?=.)(.{0,1})", $str);
echo $shuffled; // 输出:lWr oH led
Faker
或 RandomLib
等外部库来生成随机字符串。--结束END--
本文标题: PHP如何随机打乱一个字符串
本文链接: https://lsjlt.com/news/583674.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0