<?php
function deleteByValue1($arr, $value)
{
if (!is_array($arr)) {
return $arr;
}
foreach($arr as $k=>$v) {
/**
* foreach遍历,删除数组中指定值的元素
*/
if ($v == $value) {
unset($arr[$k]);
}
}
return $arr;
}
function deleteByValue2($arr, $value)
{
// 使用array_flip()函数反转/交换数组中的键名和对应关联的键值
$temp = array_flip($arr);
// 删除键名值为指定值的元素
unset($temp[$value]);
return array_flip($temp);
}
function deleteByValue3($arr, $value)
{
// array_search() 函数在数组中搜索某个键值,并返回对应的键名
$key = array_search($value, $arr);
if (isset($key)) {
unset($arr[$key]);
}
return $arr;
}
function deleteByValue4($arr, $value) {
// 返回指定值的所有键名,数组
$keys = array_keys($arr, $value);
if (!empty($keys)) {
foreach($keys as $key) {
unset($arr[$key]);
}
}
return $arr;
}
$arr = array(
't' => 'qq',
'q' => 'qq',
'b' => 'baidu',
'a' => 'ali',
'm' => 'xiaomi'
);
$arr1 = $arr2 = $arr3 = $arr4 = $arr;
$test1 = deleteByValue1($arr1, 'baidu');
print_r($test1);
/**
Array
(
[t] => qq
[q] => qq
[a] => ali
[m] => xiaomi
)
*/
$test2 = deleteByValue2($arr2, 'baidu');
print_r($test2);
/**
Array
(
[q] => qq
[a] => ali
[m] => xiaomi
)
*/
$test3 = deleteByValue3($arr3, 'baidu');
print_r($test3);
/**
Array
(
[t] => qq
[q] => qq
[a] => ali
[m] => xiaomi
)
*/
$test4 = deleteByValue4($arr4, 'baidu');
print_r($test4);
/**
Array
(
[t] => qq
[q] => qq
[a] => ali
[m] => xiaomi
)
*/
PHP删除数组中指定值的元素
最新推荐文章于 2021-03-21 13:39:44 发布