用PHP的10个函数删除数组中的元素
发布时间:2023-10-13 22:47:46
PHP中有许多函数可以删除数组中的元素。下面是十个常用的函数。
1. array_shift(): 该函数删除数组的 个元素并返回被删除的元素。其他元素的键名将会重新索引。
$fruits = array("apple", "banana", "cherry");
$removed_element = array_shift($fruits);
print_r($fruits); // 输出:Array ( [0] => banana [1] => cherry )
echo $removed_element; // 输出:apple
2. array_pop(): 该函数删除数组的最后一个元素并返回被删除的元素。其他元素的键名不会被改变。
$fruits = array("apple", "banana", "cherry");
$removed_element = array_pop($fruits);
print_r($fruits); // 输出:Array ( [0] => apple [1] => banana )
echo $removed_element; // 输出:cherry
3. unset(): 该函数用于删除数组中指定的元素。删除后,该元素所占据的空间将会被释放。
$fruits = array("apple", "banana", "cherry");
unset($fruits[1]); // 删除数组中键为1的元素
print_r($fruits); // 输出:Array ( [0] => apple [2] => cherry )
4. array_splice(): 该函数用于删除数组中的一个或多个元素,同时可以在删除的位置插入新元素。
$fruits = array("apple", "banana", "cherry");
array_splice($fruits, 1, 1); // 删除数组中从索引1开始的一个元素
print_r($fruits); // 输出:Array ( [0] => apple [1] => cherry )
5. array_filter(): 该函数用于根据自定义条件过滤数组中的元素。可以使用这个函数来删除特定的元素。
$fruits = array("apple", "banana", "cherry");
$filtered_fruits = array_filter($fruits, function($fruit) {
return ($fruit != "banana"); // 过滤掉值为"banana"的元素
});
print_r($filtered_fruits); // 输出:Array ( [0] => apple [2] => cherry )
6. array_diff(): 该函数使用键值的差异比较两个或多个数组,返回在 个数组中存在但在其他数组中不存在的元素。
$fruits1 = array("apple", "banana", "cherry");
$fruits2 = array("banana", "cherry");
$diff = array_diff($fruits1, $fruits2); // 从数组1中删除数组2中存在的元素
print_r($diff); // 输出:Array ( [0] => apple )
7. array_slice(): 该函数从数组中返回选定的元素,从而实现删除数组中的元素。
$fruits = array("apple", "banana", "cherry", "date");
$sliced_fruits = array_slice($fruits, 0, 2); // 保留数组中从索引0开始的2个元素
print_r($sliced_fruits); // 输出:Array ( [0] => apple [1] => banana )
8. array_values(): 该函数重新索引数组,删除键名,从而重新排列数组中的元素。
$fruits = array("apple", "banana", "cherry");
$reindexed_fruits = array_values($fruits);
print_r($reindexed_fruits); // 输出:Array ( [0] => apple [1] => banana [2] => cherry )
9. array_filter(): 该函数可用于删除数组中的空值元素。
$fruits = array("apple", "", "banana", null, "cherry", false);
$filtered_fruits = array_filter($fruits);
print_r($filtered_fruits); // 输出:Array ( [0] => apple [2] => banana [4] => cherry )
10. unset(): 该函数可以用于删除整个数组,释放内存空间。
$fruits = array("apple", "banana", "cherry");
unset($fruits);
print_r($fruits); // 报错:Undefined variable: fruits
