Php 修复/改进foreach不为null的if语句
有此代码:Php 修复/改进foreach不为null的if语句,php,if-statement,foreach,null,switch-statement,Php,If Statement,Foreach,Null,Switch Statement,有此代码: $main = !empty($searchResults['main']) ? $searchResults['main'] : null; $second = !empty($searchResults['second']) ? $searchResults['second'] : null; $third = !empty($searchResults['third']) ? $searchResults['third'] : null; #if(($main) || ($s
$main = !empty($searchResults['main']) ? $searchResults['main'] : null;
$second = !empty($searchResults['second']) ? $searchResults['second'] : null;
$third = !empty($searchResults['third']) ? $searchResults['third'] : null;
#if(($main) || ($second) || ($third))
if((($main) || ($second) || ($third)) !== NULL)
{
foreach ((array)$searchResults as $key => $value)
{
switch ($key)
{
case "main":
....
如何修复/改进此代码
所谓修复,我的意思是我需要一种方法来避免在空键上运行开关,我个人会这么做
foreach ($searchResults as $key => $value)
{
if(empty($value)) continue;
...
if(!empty($searchResults['main'])
{
$main = $searchResults['main'];
//do stuff
}
if(!empty($searchResults['second'])
{
$second = $searchResults['second'];
//do stuff
}
…等等。删除$searchResults数组中的所有空键/值,这样一来,在foreach中就不会有空键可以切换,这是一种疯狂的构造。为什么需要foreach,因为$searchResults是一个一级深度数组,您知道关键点吗?我需要开关,因为上面提到的每个变量都包含顺序非常不同的数据,我需要过滤这些数据