如何使用PHP函数删除数组中的项?我尝试过以下但是数组仍未受影响:
<?php
$fruits = ["banana", "apple", "kiwi", "pear"];
function deleteFromArray($arr) {
unset($arr[0]);
$arr = array_values( $arr );
}
deleteFromArray($fruits);
var_dump($fruits);
// returns the array without any changes...
答案 0 :(得分:5)
你只是在你的函数中取消 数组的元素,但是它之外的变量没有被编辑。另外,你没有在函数内使用一致变量($rest
来自哪里?)。
您必须在函数内添加一个返回值,然后使用您的变量来调用它:
<?php
$fruits = array("banana", "apple", "kiwi", "pear");
function deleteFromArray($arr) {
unset($arr[0]);
$arr = array_values( $arr ); // Not $rest
return $arr;
}
$fruits = deleteFromArray($fruits);
var_dump($fruits); // returns ['apple', 'kiwi', 'pear']
答案 1 :(得分:4)
对于此用途,通过引用方法传递。此方法仅在您要从原始数组中删除时使用。
$fruits = ["banana", "apple", "kiwi", "pear"];
function deleteFromArray(&$arr) {
unset($arr[0]);
}
deleteFromArray($fruits);
print_r($fruits);