如何在PHP中清空属于关联数组的键的内容而不取消键的设置?
我有一个名为如何在PHP中清空属于关联数组的键的内容而不取消键的设置?,php,arrays,multidimensional-array,associative-array,key-value,Php,Arrays,Multidimensional Array,Associative Array,Key Value,我有一个名为$aFilter的数组,如下所示(打印($aFilter);的输出): 目前只显示一个内部数组元素,但它可以包含许多这样的元素。因此,考虑多个内部数组元素的情况。 Array( [0] => Array( [filter_id] => 84 [user_id] => 984 [item_id] =
$aFilter
的数组,如下所示(打印($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
)
)
所以我尝试了以下代码,但它在打印时返回了相同的数组($aFilter)代码>
为什么会这样?有人能帮我解决这个问题吗
谢谢。你可以这样做
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'] = '';
}
我应该帮助你。试试这个:
function removeFeedType(&$arr)
{
$arr['feed_type'] = null;
}
array_walk($aField, 'removeFeedType');
这将实现以下目的:
array_walk( $aFilter, function(&$var){
$var['feed_type'] = '';
});
你不想要那把钥匙或者你需要它是空的?@sgtBOSE:我想要钥匙存在,但它不应该包含任何内容。键['feed_type']中的当前内容应该从所有这样的内部数组元素中清空。但是如果有多个这样的内部数组元素呢?您的代码只对第一个内部数组元素有效。然后您必须循环遍历它。这只是OP条件的解决方案。但是如果有多个这样的内部数组元素呢?您的代码仅适用于第一个内部数组元素。因为它是关联数组。如果它只有一行,您可以直接使用$aFilter[0]['feed_type']=”;
array_walk( $aFilter, function(&$var){
$var['feed_type'] = '';
});