189 8069 5689

移除数据中的元素php,移除集合中的元素

怎么删除php数组中的元素

?php

成都创新互联公司专注于网站建设|成都企业网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都加固等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。

unset($ary[$key]);

$ary = array_values($ary);

php数组删除元素示例

在某个数组中删除一个元素,我是直接用的unset,也不管unset之后会发生什么。但今天看到的东西却让我大吃一惊,并不是我想象的那样,我用示例来说明

我们来举一个例子:

代码如下:

?php

$arr

=

array('a','b','c','d');

unset($arr[1]);

print_r($arr);

?

我之前想象的是unset之后,数组$arr应该会压缩数组以填补缺少的元素位置,但print_r($arr)之后,结果却不是那样的,最终结果是

Array

(

[0]

=

a

[2]

=

c

[3]

=

d

);

如果是这样的话,那我们就来看看数字数组的形式

代码如下:

?php

$arr

=

range(5,10,4);

print_r($arr);//span

style="font-family:

Simsun;font-size:16px;

"Array

(

[0]

=

5

[1]

=

6

[2]

=

7

[3]

=

8

[4]

=

9

[5]

=

10

)/span

unset($arr[1]);//span

style="font-family:

Simsun;font-size:16px;

"Array

(

[0]

=

5

[2]

=

7

[3]

=

8

[4]

=

9

[5]

=

10

)/span

print_r($arr);

?

可以看到输出的形式也是数组是会填补缺少的元素的位置。那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():pre

name="code"

class="php"?php

代码如下:

$arr

=

array('a','b','c','d');

array_splice($arr,1,1);

print_r($arr);

//

span

style="font-family:

Simsun;font-size:16px;

"Array

(

[0]

=

a

[1]

=

c

[2]

=

d

)/span

?

php 删除数组中的元素

不知道 同学知不知道 array_slice 这个函数?

$arr = array_slice($arr, 0, 3);

就可以了。

array_slice() 第一个参数是要切割的数组,第二个参数是起始位置,第三个参数是长度。

就是 切割 $arr这个数组,从第0个元素往后数3个。

array_slice 用法很灵活,可以支持负数参数,具体可以自己查看php手册。

php 数组元素的更改和删除问题

break;

case

"a2":

//根据$id来删除$strArray数组中对应键值的元素值,完成后就重新生成数组.

//大家帮我完成这部分.

//下面是我补充的

unset($strArray[$id]);

//补充结束

break;

case

"a3":

//用户把信息提交到这里,根据提交的$id与数组$strArray的键值对比,如果相同就把数组对应的元素值改变,注:其它的元素值和键位值都不变.完成后就重新生成数组.

//大家把这部分帮我完成一下

//下面是我补充的

if

(isset($strArray[$id]))

$strArray[$id]=$value;

//补充结束

break;

php中删除数组中的某一些元素

array_splice函数可以删除数组中的元素(只是该函数的功能之一),array_splice用法如下:

array_splice

把数组中的一部分去掉并用其它值取代

array array_splice( array $input, int $offset[, int $length = 0 [, mixed $replacement ]] )把

input

数组中由offset

length指定的单元去掉,如果提供了

replacement

参数,则用其中的单元取代。

input:输入的数组。

offset:如果

offset

为正,则从

input数组中该值指定的偏移量开始移除。如果

offset为负,则从

input

末尾倒数该值指定的偏移量开始移除。

length:如果省略

length,则移除数组中从offset到结尾的所有部分。

如果指定了

length并且为正值,则移除这么多单元。

如果指定了

length并且为负值,则移除从

offset

到数组末尾倒数length

为止中间所有的单元。

小窍门:当给出了replacement

时要移除从

offset到数组末尾所有单元时,用count($input)

作为

length。

replacement:如果给出了

replacement

数组,则被移除的单元被此数组中的单元替代。

示例,删除数组$inputArr的第5~10个元素(从0开始数,包括第5个和第10个,共6个元素)

array_splice($inputArr,5,6);

删除数组元素实用的PHP数组函数

/**

*

从数组中删除空白的元素(包括只有空白字符的元素)

*

*

@param

array

$arr

*

@param

boolean

$trim

*/

复制代码

代码如下:

function

array_remove_empty(

$arr,

$trim

=

true)

{

foreach

($arr

as

$key

=

$value)

{

if

(is_array($value))

{

array_remove_empty($arr[$key]);

}

else

{

$value

=

trim($value);

if

($value

==

'')

{

unset($arr[$key]);

}

elseif

($trim)

{

$arr[$key]

=

$value;

}

}

}

}

/**

*

将一个二维数组转换为

hashmap

*

*

如果省略

$valueField

参数,则转换结果每一项为包含该项所有数据的数组。

*

*

@param

array

$arr

*

@param

string

$keyField

*

@param

string

$valueField

*

*

@return

array

*/

复制代码

代码如下:

function

array_to_hashmap(

$arr,

$keyField,

$valueField

=

null)

{

$ret

=

array();

if($valueField)

{

foreach

($arr

as

$row)

{

$ret[$row[$keyField]]

=

$row[$valueField];

}

}

else

{

foreach($arr

as

$row)

{

$ret[$row[$keyField]]

=

$row;

}

}

return

$ret;

}


网站栏目:移除数据中的元素php,移除集合中的元素
文章地址:http://jkwzsj.com/article/hsceog.html

其他资讯