@tokyodead

Как сделать исключение индекса из функции shuffle?

У меня есть массив, который выводит вопрос и ответ, у всех вопросов индекс 0,
а индекс у ответов разный, но в бд они привязаны к вопросу.
Array
(
[0] => Что такое буфер обмена?
[169] => Область в памяти
[170] => Специальная папка в файловой системе
[171] => Специальный файл
[172] => Магнитный носитель
)
Array
(
[0] => Из каких частей состоит обозначение файла в операционной системе Windows?
[177] => из трех частей: имени, расширения и доменного имени
[178] => из двух частей: имени и доменного имени
[179] => из двух частей: имени и расширения
[180] => из одной части: имени
)

Можно ли сделать shuffle(); чтобы перемешать ответы местами, не трогая индекс 0?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Нельзя, но можно хранить данные в нормальной структуре и тогда shuffle можно будет запускать безо всяких проблем.
$questions = [
  [
    'id' => 42,
    'text' => 'Что такое буфер обмена?',
    'answers' => [
      ['id' => 169, 'text' => 'Область в памяти'],
      ['id' => 170, 'text' => 'Специальная папка в файловой системе'],
      ['id' => 171, 'text' => 'Специальный файл'],
      ['id' => 172, 'text' => 'Магнитный носитель'],
    ],
  ],
]
Ответ написан
sslion
@sslion
Формируй массив вопросов примерно в таком виде, и будет все намного удобнее
$questions = [
                [
                    'question' => 'Что такое буфер обмена?',
                    'answers' => [
                        '169' => 'Область в памяти',
                        '170' => 'Специальная папка в файловой системе',
                        '171' => 'Специальный файл',
                        '172' => 'Магнитный носитель'
                    ]
                ],
                [
                    'question' => 'Из каких частей состоит обозначение файла в операционной системе Windows?',
                    'answers' => [
                        '177' => 'из трех частей: имени, расширения и доменного имени',
                        '178' => 'из двух частей: имени и доменного имени',
                        '179' => 'из двух частей: имени и расширения',
                        '180' => 'из одной части: имени'
                    ]
                ]
            ];
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы