PHP中有没有根据元素值来删除元素的函数?

发布网友 发布时间:2022-04-06 01:23

我来回答

3个回答

热心网友 时间:2022-04-06 02:52

没有直接删除的函数,但是有一个变通的函数:array_diff
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green");
$result = array_diff($array1, $array2);//这样就相当于删除$array1里的值为"green"的元素。

print_r($result);
?>

热心网友 时间:2022-04-06 04:10

应该没有的,楼上的不错
这样也可以
=======================
function removeArrayElement(&$ar,$val)
{
$tmp = array();
foreach($ar as $k => $arc)
{
if($arc!=$val)
{
$tmp[$k]=$arc;
}
}
$ar = $tmp;
unset($tmp);
}

热心网友 时间:2022-04-06 05:45

我给你一个吧,我运行了的,没有问题。
#define _crt_secure_no_warnings
#include
#include
#define initsize 100
typedef int datatype;
typedef struct {
datatype *data;
int n; //当前长度;
int maxsize; //最大容量;
}seqlist;
void init(seqlist *l)
{
l->data = (datatype *)malloc(sizeof(datatype)*initsize); //动态分配;
l->n = 0;
l->maxsize = initsize;
}
void creat(seqlist *l, int n)
{
for (int i = 0; i < n; i++)
{
scanf("%d", &(l->data[i]));
l->n=n;
}
}
void removemin(seqlist *l,int*count)
{
int i, pos = 0;
for (i = 2; i <=l->n; i++)
{
if (l->data[i - 1]
data[pos])
pos = i - 1;
}
*count = l->data[pos];
l->n--;
l->data[pos] = l->data[l->n];
}
void show(seqlist l)
{
for (int i = 0; i < l.n; i++)
{
printf("%-3d", l.data[i]);
}
}
void main()
{
int n,back;
seqlist l ;
init(&l);
printf("请输入你想创建的长度:");
scanf("%d", &n);
printf("请输入初始值:");
creat(&l,n);
printf("你创建的顺序表是:\n");
show(l);
removemin(&l, &back);
printf("\n最小值为:%d", back);
printf("\n删除后的顺序表是:\n");
show(l);
system("pause");
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com