我做了很多研究,但我不知道如何从 PHP 中的数组中删除元素。在 Java 中,如果你有一个ArrayList<SomeObject> list
,你会说list.remove(someObject);
.
你可以在 PHP 中做任何类似的事情吗?我找到unset($array[$index]);
了,但它似乎不起作用。
提前感谢您的帮助!
unset($array[$index]);
确实有效。
我能想到的唯一问题是你迭代这个数组的方式。
只是使用foreach
而不是for
还要确保 $index 包含正确的值
要测试您的阵列,您可以使用var_dump()
:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";
unset($cars[0]);
var_dump($cars);
unset
应该工作,你也可以试试这个:
$array = array_merge(
array_slice($array, 0, $index),
array_slice($array, $index+1)
);
您需要删除它并删除空数组:
function remove_empty($ar){
$aar = array();
while(list($key, $val) = each($ar)){
if (is_array($val)){
$val = remove_empty($val);
if (count($val)!=0){
$aar[$key] = $val;
}
}
else {
if (trim($val) != ""){
$aar[$key] = $val;
}
}
}
unset($ar);
return $aar;
}
remove_empty(array(1,2,3, '', 5)) 返回数组(1,2,3,5)
如果您只想删除一个数组元素,您可以使用unset()
或替代array_splice()
未设置()
示例:
代码
<?php
$array = array(0 => "x", 1 => "y", 2 => "z");
unset($array[1]);
//If you want to delete the second index ie, array[1]
?>
输出
Array (
[0] => a
[2] => c
)