php çıktısı garip karakteri

0 Cevap php

Ben rastgele bir şifre dize oluşturmak için aşağıdaki kodu var:

<?php
$password = '';

for($i=0; $i<10; $i++) {
$chars = array('lower' => array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'), 'upper' => array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'), 'num' => array('1','2','3','4','5','6','7','8','9','0'), 'sym' => array('!','£','$','%','^','&','*','(',')','-','=','+','{','}','[',']',':','@','~',';','#','<','>','?',',','.','/'));
$set = rand(1, 4); 

switch($set) {
    case 1:
        $set = 'lower';
    break;
    case 2:
        $set = 'upper';
    break;
    case 3:
        $set = 'num';
    break;
    case 4:
        $set = 'sym';
    break;
}
$count = count($chars[$set]);
$digit = rand(0, ($count-1));
$output = $chars[$set][$digit];
$password.= $output;
}
echo $password;
?>

Ancak her şimdi ve sonra çıktılar karakterlerden biri bir ^ üstündeki ile sermaye bir olacaktır. Fransız falan. Bu nasıl mümkün olur? sadece kızım bu benim diziler seçebilirsiniz!

0 Cevap