PHP取消设置数组键,空值不起作用

时间:2013-11-08 22:05:53

标签: php arrays

由于某种原因,我无法确定为什么空数组键不是unset。这就是我的......

PHP

<?php
$attachments = explode('|',$_POST['post_attachments']);
foreach($attachments as $k=>$v)
{
echo 'k = \''.$v."'\n";
 if ($v=='')
 {
  unset($k);
 }
}
print_r($attachments);die();
?>

输出

  

k =''

     

k ='secret_afound.gif'

     

k ='secret_aunlocked.gif'

     

数组(

[0] => 
[1] => secret_afound.gif
[2] => secret_aunlocked.gif
     

3 个答案:

答案 0 :(得分:3)

你应该这样做:

foreach ($attachments as $k=>$v) {
    //...magic
    unset($attachments[$k]);
}

答案 1 :(得分:0)

您只是取消设置$k,而不是附件中的元素。试试unset($attachments[$k]);

答案 2 :(得分:0)

我相信你应该使用unset($attachments[$k]);。

在这种情况下,我喜欢将$k视为临时变量。即使你unset,你也没有改变$attachments