为什么这个函数不起作用?调用后,将打印相同的数组。
$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);