修复/改善if语句的foreach不为空
问题描述:
有了这个代码:修复/改善if语句的foreach不为空
$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;
...
+0
+1,有趣并且它做了工作 – Alex 2012-03-16 14:53:48
答
运行开关我个人只是做
if(!empty($searchResults['main'])
{
$main = $searchResults['main'];
//do stuff
}
if(!empty($searchResults['second'])
{
$second = $searchResults['second'];
//do stuff
}
...等。
删除所有空键/值$ SearchResult所数组中,这样一来,你不会有空键切换一个foreach内 – 2012-03-16 14:44:27
开关是一个疯狂的建设。为什么你需要foreach,因为$ searchResults是一个一级深度数组,你知道密钥? – 2012-03-16 14:47:16
我需要开关,因为每个和所提到的变量都包含非常不同的顺序的数据,我需要过滤该数据 – Alex 2012-03-16 14:51:41