忽略数组中的变量

时间:2013-08-08 17:36:30

标签: php forms variables

我调用了一系列变量来创建一个更大的数组。

$modelfinal = "$model0, $model1, $model2, $model3, $model4";

如何忽略$ modelfinal中空的那个?

2 个答案:

答案 0 :(得分:1)

这个答案假设您已经跟踪了在单个数组中可能需要合并的所有数组:

$modelfinal = array();

foreach($array_of_all_arrays as $value) {
    if(!empty($arr)) {
        $modelfinal[] = $value;
    }
}

print_r($modelfinal);

如果您知道每个$modelx的名称,并且每次调用页面时它们都是常量,只需将它们添加到总数组中:

$array_of_all_arrays[] = $modelx;

其中$modelx是实际的模型变量。您可以单独添加每个模型变量。显然,将该数组重命名为您想要的任何数组。

答案 1 :(得分:0)

我模拟了$ _REQUEST变量,但我假设你的$ _REQUEST变量本身不是数组。正如在你的请求中,我已经破坏了他们得到像 $ modelfinal =" $ model0,$ model1,$ model2,$ model3,$ model4&#34 ;;

$_REQUEST['model0_is_checked'] = 1;
$_REQUEST['model1_is_checked'] = 2;
$_REQUEST['model2_is_checked'] = null;
$_REQUEST['model3_is_checked'] = 3;

$final = array();

for($i=0; $i<=3; $i++)
{
  $model_name = 'model' .$i . '_is_checked';
    if(isset($_REQUEST[$model_name]) && $_REQUEST[$model_name] != null && $_REQUEST[$model_name] != '')
    $final[] = $_REQUEST[$model_name];
}

echo implode($final, ', '); 

这将输出 1,2,3