已关闭。此问题需要更多focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。
29天前关闭。
1小时前编辑并提交此帖子以供审阅。
Improve this question
如何将[A-Za-z0-9]
/
或-
中的随机字符每隔一个字符添加到字符串中?例如,input:
Hello_world!
输出:
H3e7l2l-o2_aWmocr9l/db!s
编辑:下面是我的尝试,但是没有标记为Here
的行下面的一行,它抛出了错误Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in...
。我猜这是因为$char的一个片段不是数组。在我添加了Here
下面的一行以将字符串“转换”为数组之后,另一个错误出现了:'未捕获的类型错误:字符串重复():参数#1($string)必须是字符串类型,数组在...'
我不知道还有其他方法。
<?php
$string = "Hello_World!";
$length = strlen($string);
$string = str_split($string, 2);
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/-";
//Here
$chars = (is_array($chars)) ? $chars : [$chars];
for($i = 0; $i < ($length / 2); $i++){
$char = substr(str_shuffle(str_repeat($chars, 1)), 0, 1);
$added = implode($string[$i], $char);
}
echo $string;
?>
2条答案
按热度按时间tyg4sfes1#
str_split
将您的输入字符串拆分为字符,然后array_reduce
将它们与添加的随机字符重新组合。xxb16uws2#