PHP и условно - PullRequest
       37

PHP и условно

0 голосов
/ 10 ноября 2009

Я искал в сети генератор случайных паролей и наткнулся на этот код

<?php

function generatePassword($length=9, $strength=0) {
    $vowels = 'aeuy';
    $consonants = 'bdghjmnpqrstvz';
    if ($strength & 1) {
        $consonants .= 'BDGHJLMNPQRSTVWXZ';
    }
    if ($strength & 2) {
        $vowels .= "AEUY";
    }
    if ($strength & 4) {
        $consonants .= '23456789';
    }
    if ($strength & 8) {
        $consonants .= '@#$%';
    }

    $password = '';
    $alt = time() % 2;
    for ($i = 0; $i < $length; $i++) {
        if ($alt == 1) {
            $password .= $consonants[(rand() % strlen($consonants))];
            $alt = 0;
        } else {
            $password .= $vowels[(rand() % strlen($vowels))];
            $alt = 1;
        }
    }
    return $password;
}

?>

от http://www.webtoolkit.info/php-random-password-generator.html

и я просто хотел бы спросить, что и что значит? Это логично И он просто забыл добавить еще один &?

Ответы [ 3 ]

7 голосов
/ 10 ноября 2009

Нет, это поразрядно и . Сила используется как flags , для каждого набора битов согласные получают дополнительный набор символов, сцепленных с ним.

3 голосов
/ 10 ноября 2009

Это битовый и оператор.

2 голосов
/ 10 ноября 2009

Один оператор «&» является побитовым и. Он равен И-силе с двоичным представлением 1, 2, 4, а затем 8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...