如何清空属于关联数组的键的内容而不取消 PHP 中的键?

How to empty the content of a key belonging to an associative array without unsetting the key in PHP?

我有一个名为 $aFilter 的数组,如下所示(print_r($aFilter); 的输出):

目前只显示了一个内部数组元素,但它可以包含许多这样的元素。因此考虑具有多个内部数组元素的情况。

Array(    
          [0] => Array(            
            [filter_id] => 84            
            [user_id] => 984            
            [item_id] => 244            
            [type_id] => user        
            [feed_type] => a:10:{s:5:\"pages\";i:1;s:5:\"photo\";i:1;s:4:\"link\";i:1;s:5:\"event\";i:1;s:6:
\"friend\";i:1;s:11:\"user_status\";i:1;s:4:\"poll\";i:1;s:4:\"quiz\";i:1;s:6:\"market\";i:1;s:4:\"apps
\";i:1;}            
            [get_noti] => 0            
            [time_stamp] => 1432271245        
          )
        )

我想要以下数组:

Array(    
          [0] => Array(            
            [filter_id] => 84            
            [user_id] => 984            
            [item_id] => 244            
            [type_id] => user        
            [feed_type] =>             
            [get_noti] => 0            
            [time_stamp] => 1432271245        
          )
        )

所以我尝试了以下代码,但它在 print_r($aFilter);

时返回了相同的数组
$aFilter['feed_type'] = '';

为什么会这样?有人可以帮我解决我的问题吗?

谢谢。

你可以这样做

foreach($aFilter as $aFilterRow)
{
    $aFilterRow['feed_type'] = "";
}

设置为 null -

$aFilter[0]['feed_type'] = null; // You can set '' this also but would prefer null

更新

如果你有多个内部数组 -

array_walk ( $aFilter, function (&$key) { $key["feed_type"] = null; } );

你的数组是二维数组

所以像下面的例子一样使用:

$aFilter[0]['feed_type'] = '';

已编辑

foreach($aFilter as $aFilt)
{
    $aFilt['feed_type'] = '';
}

array_walk 应该能帮到你。试试这个:

function removeFeedType(&$arr)
{
    $arr['feed_type'] = null;
}
array_walk($aField, 'removeFeedType');

这样做就可以了:

array_walk( $aFilter, function(&$var){
    $var['feed_type'] = '';
});