PHP 中同一洗牌中的两个不同 JSON 键

Two different JSON keys in the same shuffle in PHP

问题的正确答案始终是“shSik1”,但我的目标是在 JSON 排序中将其复杂化。

例如;

foreach ($examQuestion as $eq) {
  {
   'question' => $eq->questionContent,
   'choices' => array($eq->shSik1, $eq->shSik2, $eq->shSik3, $eq->shSik4, $eq->shSik5),
   'correctAnswer' => 1
  }
}

在上面的例子中,问题的正确答案是第一(shSik1)。

难不成choices中的'Array'的正确答案是复杂的,并且可以确定这个排序中的关键'correctAnswer'的位置? (打印到Array中的3处可以是'correctAnswer': 3吗?)

我做了什么?

我用了“shuffle”,正确答案是在Array中的复杂序列中,但是'correctAnswer'总是给出错误。所以,我无法 运行 choice correctAnswer` 在一起。

我该怎么做?

使用array_search()获取数组元素的索引。

shuffle($choices);
$correct_answer = array_search($eq->shSik1, $choices) + 1;