0

出于某种原因,我无法确定为什么空数组键不是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

)

4

3 回答 3

3

你应该做:

foreach ($attachments as $k=>$v) {
    //...magic
    unset($attachments[$k]);
}
于 2013-11-08T22:08:07.277 回答
0

您只是 unsetting $k,而不是附件中的元素。尝试unset($attachments[$k]);

于 2013-11-08T22:08:16.757 回答
0

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

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

于 2013-11-08T22:10:51.880 回答