为了账号安全,请及时绑定邮箱和手机立即绑定

将特殊字符数组转换为字符串

将特殊字符数组转换为字符串

PHP
慕田峪9158850 2021-11-13 17:23:07
我正在创建密码生成器,我目前正在处理特殊字符数组以将它们转换为字符串。我在 cvs 文件中保存了特殊字符,根据密码中应该有多少特殊字符使用作为数组进行切片,然后我想让它们成为字符串并与数字和字母连接。    $list = './SpecialChar.csv';    $e = array_map('str_getcsv', file($list));    //$nRange telling how many characters should be slice    $nRange = $length-($numb*2)-$specialChar;    shuffle($e);    $s = array_slice($e,0,$nRange);    $sString = implode(" ",$s); //does not work    $sString = htmlentities(implode(" ",$s)); //does not work
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

implode只接受字符串,因此如果您尝试将数组转换为字符串,无论数组中的内容如何,这都会返回“string(5)“Array””


var_dump((string)["T","E","S","T"]);

所以当你尝试内爆多维数组时,你会得到这样的结果


    $test = [["-"], ["*"]];

var_dump(implode(" ", $test)); //THIS WILL GIVE YOU Notice: Array to string conversion when using implode , but it will return string(11) "Array Array"

如果维度只有两个,您可以使用array_map


$test = [["-"], ["*"]];

var_dump(implode(" ", array_map(function ($row) {

                        return is_array($row)?implode($row):$row;

                    }, $test))); //returns string(3) "- *"


查看完整回答
反对 回复 2021-11-13
  • 1 回答
  • 0 关注
  • 166 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信