重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
array_unique函数可以去除重复,例如你的语句可以修改为:
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都木托盘等,在网站建设公司、营销型网站建设、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
$arr=array_unique(array(1,1,2,1,5,9,9,6,7,8,8));
exit(json_encode($arr));
想要不重复的,你可以循环每次取出一个,进行判断,
$ourneed = array();
for($i=0;$i5;$i++)
{
$val = array_rand($result,1);
if(!in_array($val,$ourneed))
{
$ourneed[] = $val;
}
}
print_r($ourneed);
如果不在意 key 的话,可以直接使用 array_unique 内置函数,如:
?php
$arr = array(1,1,2,1,5,9,9,6,7,8,8);
$unique = array_unique($arr)
var_dump($unique);
/*
输出
array(7) {
[0]=
int(1)
[2]=
int(2)
[4]=
int(5)
[5]=
int(9)
[7]=
int(6)
[8]=
int(7)
[9]=
int(8)
}
*/
建议平时多看看php官网的文档,希望有帮助。
?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?
array_unique -- 移除数组中重复的值说明array array_unique ( array array )
array_unique() 接受 array 作为输入并返回没有重复值的新数组。
注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
注: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。
第一个单元将被保留。
例子1. array_unique() 例子
复制代码 代码如下:?php
$input = array("a" = "green", "red", "b" = "green", "blue", "red");
$result = array_unique($input);
print_r($result);?上例将输出:
复制代码 代码如下:Array([a] = green[0] = red[1] = blue)例子2. array_unique() 和类型
上例将输出:
复制代码 代码如下:?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);?复制代码 代码如下:array(2) {
参考:
// 1、首先定义一个空的目标数组
$arr = [];
// 2、开始for循环
for ($i = 0; $i 1000; ) {
****// 3、获取0~3000之间的随机数
****$r = rand(0, 3000);
****// 4、判断该随机数是否存在目标数组中
****if (!in_array($r, $arr)) {
********// 5、如果不存在,则将该随机数添加到目标数组中
********$arr[] = $r;
********// 6、最关键的一步:只有向目标数组添加新值的时候才改变$i的值
********$i ++;
****}
****continue;
}
// 7、最后打印出目标数组,也可使用print_r函数
var_dump($arr);
die;
总结:该题的难点在于在什么时候再改变计数器变量$i的值,只有数组元素新增的时候才能改变$i,使其加1,当然for循环体也可反向写,也可采用别的循环结构,留给你自己发挥^^。
希望能帮助到你,望采纳,谢谢~