PHP,如何生成唯一数字列表?

PHP,如何生成唯一数字列表?,php,Php,我有一些数字将作为sql查询的一部分,如下所示 152258, 152258, 152258, 152258, 152261, 152261, 152261, 152261, 152261, 152270, 152270, 152270, 152287, 152287, 152287, 152287 我的查询很复杂,列表很长,我需要生成一个唯一的数字列表,我可以用正则表达式来完成吗 如果没有,如何使用?使用RANGE() 使用RANGE() 我本来打算为您编写一个函数,结果发现PHP已经有了

我有一些数字将作为sql查询的一部分,如下所示

152258, 152258, 152258, 152258, 152261, 152261, 152261, 152261, 152261, 152270, 
152270, 152270, 152287, 152287, 152287, 152287
我的查询很复杂,列表很长,我需要生成一个唯一的数字列表,我可以用正则表达式来完成吗

如果没有,如何使用?

使用
RANGE()

使用
RANGE()


我本来打算为您编写一个函数,结果发现PHP已经有了一个:

编辑:在任何情况下,这都是一种替代方法:

function uniquify_array($a)
{
    $b = array();  // I wish I could write just $b = {};
    foreach ($a as $i)
        $b[$i] = $i;
    return $b;
}

请注意,此函数仅适用于值,而内置的
array\u unique()
将密钥保留在原始数组中。

我正要为您编写一个函数,结果发现PHP已经有了一个:

编辑:在任何情况下,这都是一种替代方法:

function uniquify_array($a)
{
    $b = array();  // I wish I could write just $b = {};
    foreach ($a as $i)
        $b[$i] = $i;
    return $b;
}

请注意,此函数仅适用于值,而内置的
array\u unique()
保留原始数组中的键。

以下是如何使字符串具有唯一的数字:


以下是如何使字符串具有唯一的数字:


如果需要一个数字范围,请使用PHP的range()方法

如果您想要一个唯一的数字列表,可以使用PHP的rand()方法

范围():

兰德():

编辑
正如@RobertPitt所指出的,uniqid也可以用于生成id:

如果需要一个数字范围,请使用PHP的range()方法

如果您想要一个唯一的数字列表,可以使用PHP的rand()方法

范围():

兰德():

编辑
正如@RobertPitt所指出的,uniqid也可以用于生成id:

生成一些数字集,然后只需使用
array\u unique
函数

$nums=array()

for($i=0;$i<$limit;$i++){
$nums[]=rand()*10000;

$nums=array_unique($nums);

}


苏丹

生成一些数字集,然后只需使用
array\u unique
函数

$nums=array()

for($i=0;$i<$limit;$i++){
$nums[]=rand()*10000;

$nums=array_unique($nums);

}


Sultan

在将数字放入SQL之前,您能过滤数字列表吗?您想生成唯一的数字还是想过滤掉重复的数字?请进一步解释,这些数字是否已经生成,是否需要将其放入数据库,是否需要考虑最小值和最大值等因素,它们在数据库中是否应该是唯一的?在将它们放入SQL之前,您是否可以过滤数字列表?是否要生成唯一的数字,还是要过滤掉重复的数字?请进一步解释,这些数字是否已经生成,是否需要将其放入数据库,是否有任何因素(如最小值和最大值)需要考虑,它们在数据库中是否应该是唯一的?@RoberyPitt,对此表示感谢,他不知道这种方法。编辑@罗伯里皮特,谢谢你,他不知道这个方法。编辑!虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能会无效。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,则仅链接的答案可能无效。