我做了很多研究,但我无法找到如何从PHP中删除数组中的元素。在Java中,如果您有ArrayList<SomeObject> list
,则可以说list.remove(someObject);
。
你能用PHP做些什么吗?我找到了unset($array[$index]);
,但它似乎没有用。
提前感谢您的帮助!
答案 0 :(得分:1)
unset($array[$index]);
确实有用。
我能想到的唯一问题是你迭代这个数组的方式
只需使用foreach
代替for
还要确保$ index包含正确的值
要测试您的阵列,您可以使用var_dump()
:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";
unset($cars[0]);
var_dump($cars);
答案 1 :(得分:1)
unset
应该有效,你也可以试试这个:
$array = array_merge(
array_slice($array, 0, $index),
array_slice($array, $index+1)
);
答案 2 :(得分: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)
答案 3 :(得分:0)
如果您只想删除一个数组元素,可以使用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
)