我有一个看起来像
的数组 $cclArray[0]['url']='test.html';
$cclArray[0]['entity_id']=9;
$cclArray[1]['url']='test1.html';
$cclArray[1]['entity_id']=10;
$cclArray[2]['url']='test2.html';
$cclArray[2]['entity_id']=11;
如果我想删除一个特定的数组,例如,如果我想用'url'='test1.html'
删除数组元素..我该怎么办?
非常感谢你的帮助。
答案 0 :(得分:2)
foreach ( $cclArray as $k => $array ) {
if ( $array['url'] == 'test1.html' ) {
unset($cclArray[$k]);
}
}
答案 1 :(得分:2)
如果你使用PHP> 5.3,你可以这样做:
$cclArray = array_filter($cclArray, function ($var) {
return $var['url'] != 'test1.html';
});
答案 2 :(得分:1)
如果以这种方式制作阵列
$cclArray['test.html'] = 9;
$cclArray['test1.html'] = 10;
$cclArray['test2.html'] = 11;
可以只用
删除$url = 'test.html';
unset($cclArray[$url]);
答案 3 :(得分:0)
foreach($cclArray as $key=>$val){
if($val['url'] == 'test1.html'){
unset($cclArray[$key]);
}
}
我认为就是这样。
答案 4 :(得分:0)
for ($i=0;$i<count($cclArray);$i++)
if($cclArray[$i]['url']=='test.html') unset($cclArray[$i]['url'])
答案 5 :(得分:0)
for($i=0; $i<count($cclArray); $i++){
if('test1.html' === $cclArray[$i]['url']){
array_splice($cclArray, $i, 1);
}
}
这是更好的但请记住,unset()不会删除它只是将其设置为null的实际元素。如果你希望它完全消失,那么在unset()之后你也应该这样做:$ cclArray = array_filter($ cclArray);
或者你可以这样做以完成删除数组元素而不是仅仅取消它
for($i=0; $i<count($cclArray); $i++){
if('test1.html' === $cclArray[$i]['url']){
array_splice($cclArray, $i, 1);
}
}