[英]How to remove a specific empty array from $_SESSION with PHP?
我有上一组包含设置/未设置会话值组合的数组。 我要删除未设置的值。 但我不知道如何删除它,因为它没有告诉哪个键的关键。
$数组
Array (
[4ltr] => 5
[] =>
[800ml] => 10
)
如您所见,第二个数组的键和值均为空。 我可以想到empty()
但又如何告诉脚本删除具有空白值的键?
Okey,我f了起来。 像shssst一样容易。
foreach ($_SESSION['ss'] as $key => $value) {
if (empty($value)) {
unset($_SESSION['ss'][$key]);
}
}
你可以做到的
$_SESSION= array_filter($_SESSION, function($v, $k){ return $v && $k;}, ARRAY_FILTER_USE_BOTH)
您可以测试以下代码, 演示
print_r(array_filter(array('' => '2', '3' =>3), function($v, $k){ return $v && $k;}, ARRAY_FILTER_USE_BOTH));
另一种方法是不将修改后的数据分配给变量。 这只是一种奇特的模式。 如果要在每个页面上执行此操作,则可以编写一个全局函数进行检查。
array_walk($data, function($item, $key) use (&$data){
if(empty($item)){
unset($data[$key]);
}
});
print_r($data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.