php - 将字符串拆分为 3 个随机长度的部分
问题描述
我有一个字符串,我想将它分成 3 个随机长度的部分(不关心字符串长度是目标)以获得 3 个字符串。
$mystring = "aHR0cHM6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uc3RyLXNwbGl0LnBocA==";
当我尝试使用str_split()
时,我总是必须手动设置每个字符串的字符数。
如果我计算字符串长度并将其除以 3,有时我会得到非整数。
$len = strlen($mystring);
$len = $len / 3;
$parts = str_split($mystring, $len);
print_r($parts);
解决方案
即使你想要随机,那么我假设你仍然不想要 0 长度的字符串。
我使用 1 和字符串长度之间的随机值(减去一些,以确保您不会用完字符)。
$mystring = "aHR0cHM6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uc3RyLXNwbGl0LnBocA==";
$len=strlen($mystring);
$parts[] = substr($mystring, 0, $l[] = rand(1,$len-5));
$parts[] = substr($mystring, $l[0], $l[] = rand(1,$len-$l[0]-3));
$parts[] = substr($mystring, array_sum($l));
print_r($parts);
该代码根据先前的随机值来抓取部分字符串。
https://3v4l.org/v4nUF
推荐阅读
- python-3.x - 查找 zip 文件是否包含 .html 文件 python
- kubernetes - Operator SDK 控制器无法更新自定义资源状态
- html - 将 Google 地图添加到网站上的路线导航链接
- webrtc - webRTC - 使用来自 MDN 切换摄像头的代码示例根本不起作用
- asp.net-core - 在 .NET Core 中如何实现跨平台或平台无关?
- wordpress - WooCommerce 损坏 - 产品导出 csv
- django - 如何在 Heroku 中执行 redis-server.exe?
- mysql - 如何在 mysql 中创建具有案例逻辑的函数?
- azure-active-directory - 我可以使用 Graph API 代表来宾用户创建 Microsoft Teams 在线会议吗?
- python-3.x - Selenium 滚动元素,页面内