doufei4923 2019-08-05 12:11
浏览 264
已采纳

已解决的数组特殊字符到字符串

I am creating password generator, I am dealing at the moment with array of special characters to transfer them into string. I have special characters saved in cvs file, using as array to slice based on how many special characters should be in password, then I want to make them string and concatenate with numbers and letters.

    $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条回答 默认 最新

  • dphs48626 2019-08-05 12:44
    关注

    implode only accepts string so if you try to convert array to string this will return you "string(5) "Array"" no matter what it's in the array

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

    So when you try to implode multidimensional array you will get something like this

        $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"
    

    If dimensional are only two you can use array_map

    $test = [["-"], ["*"]];
    var_dump(implode(" ", array_map(function ($row) {
                            return is_array($row)?implode($row):$row;
                        }, $test))); //returns string(3) "- *"
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。