用php怎么自定义个可以删除数组中重复的值的函数,切记我要的不是系统函数
答案:2 悬赏:50 手机版
解决时间 2021-03-15 16:25
- 提问者网友:最美的风景
- 2021-03-15 03:17
用php怎么自定义个可以删除数组中重复的值的函数,切记我要的不是系统函数
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-03-15 04:16
$arr = array('a', 'a', 'c', 'd', 'b', 'f', 'b');
$new_arr = array();
$x = 0;
$i = count($arr);
for($o=0; $o<$i; $o++){
$is_in = false;
for($n=0; $n < $x; $n++){
if($arr[$o] == $new_arr[$n]){
$is_in = true;
break;
};
}
if($is_in == false){
$new_arr[$x] = $arr[$o];
$x++;
}
}
print_r($new_arr);
$new_arr = array();
$x = 0;
$i = count($arr);
for($o=0; $o<$i; $o++){
$is_in = false;
for($n=0; $n < $x; $n++){
if($arr[$o] == $new_arr[$n]){
$is_in = true;
break;
};
}
if($is_in == false){
$new_arr[$x] = $arr[$o];
$x++;
}
}
print_r($new_arr);
全部回答
- 1楼网友:行雁书
- 2021-03-15 04:51
两种做法
1 数组a[]设为全局变量
#include
#include
int a[20] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
void delete1(int x)
{
int i;
for (i =x; i < 20; i++)
a[i] = a[i + 1];
}
int main()
{
int i,x;
printf("请输入要删除的学生学号:");
scanf_s("%d", &x);
delete1(x);
for (i = 0; i < 20; i++)
printf("%d\n", a[i]);
system("pause");
return 0;
}
2 delete1函数增加一个参数,用于传入待处理的数组
#include
#include
void delete1(int x,int a[])
{
int i;
for (i =x; i < 20; i++)
{
if (i + 1 == 20)
{
a[i] = 0;
}
else
{
a[i] = a[i + 1];
}
}
}
int main()
{
int a[20] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,15,16, 17, 18, 19, 20},i,x;
printf("请输入要删除的学生学号:");
scanf_s("%d", &x);
delete1(x,a);
for (i = 0; i < 20; i++)
printf("%d\n", a[i]);
system("pause");
return 0;少年,自行选一个吧,总有一款你喜欢的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯