Bootstrap

php如何移除数组中的某个值,PHP删除数组中某一个值元素 - 米扑博客

PHP 删除数组中某一个值元素,有多种方式可以实现

一、for 循环删除值元素

// for 循环删除值元素

function remove_array_item_by_for() {

// key 为字符

$mimvp_array = array("blog"=>"blog.mimvp.com",

"site"=>"site.mimvp.com",

"shop"=>"shop.mimvp.com",

"proxy"=>"proxy.mimvp.com",

"money"=>"money.mimvp.com",

"domain"=>"domain.mimvp.com");

var_dump($mimvp_array);

$delete_item = "proxy.mimvp.com";

foreach($mimvp_array as $key=>$value) {

if($value == $delete_item) {// 判断 value

unset($mimvp_array[$key]);// 删除 key

}

}

var_dump($mimvp_array);

// key 为数字下标

$mimvp_array = array("0"=>"blog.mimvp.com",

"1"=>"site.mimvp.com",

"2"=>"shop.mimvp.com",

"3"=>"proxy.mimvp.com",

"4"=>"money.mimvp.com",

"5"=>"domain.mimvp.com");

var_dump($mimvp_array);

$delete_item = "proxy.mimvp.com";

foreach($mimvp_array as $key=>$value) {

if($value == $delete_item) {// 判断 value

unset($mimvp_array[$key]);// 删除 key

}

}

var_dump($mimvp_array);// key 数字下标删除丢失

$mimvp_array = array_values($mimvp_array);// 重建 key 数字下标方式1

var_dump($mimvp_array);

$mimvp_array = array_merge($mimvp_array);// 重建 key 数字下标方式2

var_dump($mimvp_array);

}

运行结果:

/Users/homer/Workspace/miMvp_demo/tmp_php.php:13:

array (size=6)

'blog' => string 'blog.mimvp.com' (length=14)

'site' => string 'site.mimvp.com' (length=14)

'shop' => string 'shop.mimvp.com' (length=14)

'proxy' => string 'proxy.mimvp.com' (length=15)

'money' => string 'money.mimvp.com' (length=15)

'domain' => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:20:

array (size=5)

'blog' => string 'blog.mimvp.com' (length=14)

'site' => string 'site.mimvp.com' (length=14)

'shop' => string 'shop.mimvp.com' (length=14)

'money' => string 'money.mimvp.com' (length=15)

'domain' => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:30:

array (size=6)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

3 => string 'proxy.mimvp.com' (length=15)

4 => string 'money.mimvp.com' (length=15)

5 => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:37:

array (size=5)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

4 => string 'money.mimvp.com' (length=15)

5 => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:40:

array (size=5)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

3 => string 'money.mimvp.com' (length=15)

4 => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:43:

array (size=5)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

3 => string 'money.mimvp.com' (length=15)

4 => string 'domain.mimvp.com' (length=16)

二、php 自带函数删除值元素

// php 自带函数删除值元素

function remove_array_item_by_func() {

// key 为字符

$mimvp_array = array("blog"=>"blog.mimvp.com",

"site"=>"site.mimvp.com",

"shop"=>"shop.mimvp.com",

"proxy"=>"proxy.mimvp.com",

"money"=>"money.mimvp.com",

"domain"=>"domain.mimvp.com");

var_dump($mimvp_array);

$delete_item = "proxy.mimvp.com";

$mimvp_array = array_merge(array_diff($mimvp_array, array($delete_item)));// 计算出差异数组,并重建key下标索引

var_dump($mimvp_array);

// key 为数字下标

$mimvp_array = array("0"=>"blog.mimvp.com",

"1"=>"site.mimvp.com",

"2"=>"shop.mimvp.com",

"3"=>"proxy.mimvp.com",

"4"=>"money.mimvp.com",

"5"=>"domain.mimvp.com");

var_dump($mimvp_array);

$delete_item = "proxy.mimvp.com";

$key = array_search($delete_item, $mimvp_array);// 先找出删除值元素的key

array_splice($mimvp_array, $key, 1);// 自动实现重置序列值(只对数字下标有效,字母下标报错)

var_dump($mimvp_array);// key 数字下标删除丢失

var_dump($mimvp_array);

$delete_item = "proxy.mimvp.com";

$mimvp_array = array_merge(array_diff($mimvp_array, array($delete_item)));// 计算出差异数组,并重建key下标索引

var_dump($mimvp_array);

var_dump($mimvp_array);

$delete_array = array("blog.mimvp.com", "proxy.mimvp.com");

$mimvp_array = array_merge(array_diff($mimvp_array, $delete_array));// 计算出差异数组,并重建key下标索引

var_dump($mimvp_array);

}

运行结果:

/Users/homer/Workspace/miMvp_demo/tmp_php.php:57:

array (size=6)

'blog' => string 'blog.mimvp.com' (length=14)

'site' => string 'site.mimvp.com' (length=14)

'shop' => string 'shop.mimvp.com' (length=14)

'proxy' => string 'proxy.mimvp.com' (length=15)

'money' => string 'money.mimvp.com' (length=15)

'domain' => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:60:

array (size=5)

'blog' => string 'blog.mimvp.com' (length=14)

'site' => string 'site.mimvp.com' (length=14)

'shop' => string 'shop.mimvp.com' (length=14)

'money' => string 'money.mimvp.com' (length=15)

'domain' => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:70:

array (size=6)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

3 => string 'proxy.mimvp.com' (length=15)

4 => string 'money.mimvp.com' (length=15)

5 => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:74:

array (size=5)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

3 => string 'money.mimvp.com' (length=15)

4 => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:76:

array (size=5)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

3 => string 'money.mimvp.com' (length=15)

4 => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:79:

array (size=5)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

3 => string 'money.mimvp.com' (length=15)

4 => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:81:

array (size=5)

0 => string 'blog.mimvp.com' (length=14)

1 => string 'site.mimvp.com' (length=14)

2 => string 'shop.mimvp.com' (length=14)

3 => string 'money.mimvp.com' (length=15)

4 => string 'domain.mimvp.com' (length=16)

/Users/homer/Workspace/miMvp_demo/tmp_php.php:84:

array (size=4)

0 => string 'site.mimvp.com' (length=14)

1 => string 'shop.mimvp.com' (length=14)

2 => string 'money.mimvp.com' (length=15)

3 => string 'domain.mimvp.com' (length=16)

上面的例子中$delete_item是一个值,如果$delete_item是一个数组$delete_array或者其他复杂数据结构,从$mimvp_array中删除所有$delete_array包含的元素,上面的方法同样有效

参考推荐:

;