从已知答案中选择三个不重复的答案

本文介绍了一种使用PHP处理数组的技巧,通过遍历数组并进行特定条件下的元素选择,实现生成固定数量选项的功能。该方法适用于创建随机选择题或进行数据筛选等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php

$question_list = [
    ['answer' => '答案1'],
    ['answer' => '答案2'],
    ['answer' => '答案3'],
    ['answer' => '答案4'],
    ['answer' => '答案5'],
    ['answer' => '答案6'],
];
$answer_arr = [];
foreach ($question_list as $key => $value) {
    $answer_arr[] = $value['answer'];
}
$answer_count = count($answer_arr) - 1;
foreach ($question_list as $key => $value) {
    //echo $value['id'] . "\n";
    $answer_select_arr = [];

    $answer_select_arr[] = $value['answer'];
    while (count($answer_select_arr) < 3){
        if(in_array($answer_select = $answer_arr[rand(0, $answer_count)], $answer_select_arr)){
            echo implode("|", $answer_select_arr) . "|" . $answer_select . "\n";
            continue;
        }
        $answer_select_arr[] = $answer_select;
    }
    $answer_str = implode("|", $answer_select_arr);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值