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

时间:2015-05-22 05:47:30

标签: php arrays multidimensional-array associative-array key-value

我的标题为$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'] = '';

为什么这样?在我的问题上有人可以帮助我吗?

感谢。

5 个答案:

答案 0 :(得分:2)

这样可以解决问题:

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

答案 1 :(得分:1)

null设为 -

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

更新

如果您有多个内部数组 -

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

答案 2 :(得分:0)

你可以这样做

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

答案 3 :(得分:0)

你的数组是二维数组

所以使用如下例:

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

<强>被修改

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

答案 4 :(得分:0)

array_walk应该可以帮到你。试试这个:

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