php - PHP将项目推送到数组中会在数组中创建单独的数组
问题描述
我创建了一个生成随机数的函数,该函数接受开始数、结束数、要生成的数字数量以及排除数字数组的能力。它看起来像这样:
function random_numbers($min, $max, $quantity, $exclude) {
$numbers = range($min, $max);
$left = array_diff($numbers, $exclude);
shuffle($left);
$remain = array_slice($left, 0, $quantity);
return $remain;
}
排除数组如下所示:
Array ( [0] => 217 [1] => 321 [2] => 1591 [3] => 1069 [4] => 1532 )
然后我想将新生成的数字与排除数组合并并将其保存到 WordPress post_meta,所以我做了以下操作:
$exclude = get_post_meta($product_id, '_numbers_sold', false);
$numbers = random_numbers('1', $max_tickets, $qty, $exclude);
foreach($numbers as $number){
$exclude [] = $number;
}
update_post_meta($product_id, '_numbers_sold', $sold_numbers);
该函数有效,但将新数字推送到数组会创建单独的数组。我也尝试过array_merge
,但我得到了相同的结果。
输出如下:
Array
(
[0] => Array
(
[0] => 217
[1] => 321
[2] => 1591
[3] => 1069
[4] => 1532
)
[1] => 597
[2] => 1853
[3] => 582
[4] => 1887
[5] => 1484
)
为什么会发生这种情况?它将两个数组分开。是因为数组键已经存在吗?
解决方案
推荐阅读
- emacs - 如何在 Eshell 中突出显示某些单词?
- javascript - 如何根据显示的值更改徽章颜色
- php - 当在 Woocommerce 单页中无法购买产品时显示自定义消息
- java - 如何根据GPA对数组列表进行升序排序?arraylist 包含一个对象数组。(爪哇)
- javascript - 使用 Reduce 方法在 JavaScript 中反转字符串
- python - Python:当变量被类方法调用时,对象变量存在“NameError”
- mysql - 调用过程时语句不完整
- multiprocessing - 预定义元组数组
- node.js - express 项目在服务器上运行但无法得到任何响应
- python - 为什么我在这个插入排序算法中过度计算了比较的数量?