数组php中的函数delete_item()


function delete_item() from array php

为什么这个函数不起作用?调用后,将打印相同的数组。

$myArray1 = ["Barcelona",  "Romania", "Cile", "France"];
function del(&$array, $item_to_del){
    foreach ($array as $item) {
        if ($item == $item_to_del){
            unset($item);
        }
    }
}
del($myArray1, "Barcelona");
var_dump($myArray1);

只需将del函数替换为这个即可。试试这个:

function del(&$array, $item_to_del){
    if (($key = array_search($item_to_del, $array)) !== false) {
        unset($array[$key]);
    }
}

您还必须删除index

试试这个:

<?php
$myArray1 = ["Barcelona",  "Romania", "Cile", "France"];
function del(&$array, $item_to_del){
    foreach ($array as $key => $item) {
        if ($item == $item_to_del){
            unset($array[$key]);
        }
    }
}
del($myArray1, "Barcelona");
var_dump($myArray1);