@aspirantes

Почему иногда проскальзывает значение повторно?

Иногда проскальзывает повторное значение. Не пойму из-за чего.
Подозрения, что из-за изменения порядка матрицы...
Заметил, что определённое выбранное значение проскальзывает. Т.е. если проскользнёт "g4k", то так и будет проскальзывать.

<?php
session_start();
// Функция для генерации случайной строки
     
    recursion();
        
     function recursion() {
        $col = array("g2k","g3k","g4k","g5k","g6k","g7k","g8k","g9k","gxk","gjk");
        $rand_keys = $col[array_rand($col, 1)];
        
        if (!isset($_SESSION['nekol'])) {
            $_SESSION['nekol'] = array();
        }

        var_dump(!array_search($rand_keys, $_SESSION['nekol']));

        if (!array_search($rand_keys, $_SESSION['nekol'])) {
            $_SESSION['nekol'][] = $rand_keys;
        } else {
            if (count($_SESSION['nekol']) < count($col)) {
                recursion();
            } else {
                header("Refresh:0");
                die;
            }
        }
    }
?>

echo "g".$_SESSION['nekol'][array_key_last($_SESSION['nekol'])];
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@aspirantes Автор вопроса
array_search() игнорирует первый элемент в матрице. Не знаю с чем связано, помогла замена на in_array()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sl0
https://www.php.net/manual/ru/function.array-rand.php
Выбирает одно или несколько случайных значений из массива. Возвращает ключ (или ключи) данных случайных элементов. Данная функция использует псевдослучайный генератор и не предназначена для использования в криптографических целях.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы