我有一组数组,它们结合了上一页的set / unset会话值。我想删除未设置的值。但我不知道如何删除它,因为它没有关键来判断哪一个。
$阵列
true
如您所见,第二个数组为空键和值。我可以考虑Array (
[4ltr] => 5
[] =>
[800ml] => 10
)
但是又如何告诉脚本删除带有空值的密钥?
答案 0 :(得分:0)
foreach ($_SESSION['ss'] as $key => $value) {
if (empty($value)) {
unset($_SESSION['ss'][$key]);
}
}
答案 1 :(得分:0)
你可以用,
$_SESSION= array_filter($_SESSION, function($v, $k){ return $v && $k;}, ARRAY_FILTER_USE_BOTH)
您可以测试以下代码demo
print_r(array_filter(array('' => '2', '3' =>3), function($v, $k){ return $v && $k;}, ARRAY_FILTER_USE_BOTH));
答案 2 :(得分:0)
另一种方法是将修改后的数据分配给变量。这只是一个奇特的模式。如果您在每个页面上都这样做,那么您可以编写一个全局函数来检查。
array_walk($data, function($item, $key) use (&$data){
if(empty($item)){
unset($data[$key]);
}
});
print_r($data)