我有一个号码供用户选择6个号码,01至36:
$arr = array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36");
user.json示例
$userdata = [
{
"username": "ananda",
"lottery_number": [
"09",
"15",
"17",
"22",
"25",
"27"
],
"status": "1",
"id": 1
},
{
"username": "jaka0",
"lottery_number": [
"01",
"08",
"09",
"25",
"16",
"03"
],
"status": "0",
"id": 2
},
{
"username": "jaka1",
"lottery_number": [
"09",
"07",
"06",
"24",
"12",
"21"
],
"status": "0",
"id": 3
}
];
如何在user.json中创建不在lottery_number中6个唯一数字数组?
我的逻辑收集所有的用户数,然后寻找最小的数字。但是它工作得不是很好
$arr = array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36");
$totalarr = [];
$totalarr = array_merge($totalarr ,$arr);
foreach($userdata as $user) {
$totalarr = array_merge($totalarr ,$user['lottery_number']);
}
$totalarr = array_merge($totalarr ,$arr);
$r = array_filter(array_count_values($totalarr ), function($v) { return $v > 1; });
$key = array_keys($r, min($r));
逻辑如何创建一个由6个唯一数字组成的数组?
1条答案
按热度按时间4smxwvx51#
像这样的东西应该工作。