2015-10-16 40 views
0

当前代码:如何在此数组中包含条件语句?

$columns = array(
    array('db' => 'code', 'dt' => 0), 
    array('db' => 'img', 'dt' => 1), 
    array('db' => 'name', 'dt' => 2), 
    array('db' => 'short_description', 'dt' => 3), 
); 

我想什么来创建(我知道这个代码是无效的,我需要关于如何实现什么我打算建议):

$i=0; 
$code=$_POST['code']; 
$img=$_POST['img']; 
$name=$_POST['name']; 
$short_description=$_POST['short_description']; 


$columns = array(
    if($code){ 
    array('db' => 'code', 'dt' => $i), 
    i++; 
    }else if($img){ 
    array('db' => 'img', 'dt' => $i), 
    i++; 
    }else if($name){ 
    array('db' => 'name', 'dt' => $i), 
    i++; 
    }else if($short_description){ 
    array('db' => 'short_description', 'dt' => $i), 
    } 
); 

回答

2

尝试这样

if(!empty($code)) 
$columns[] = array('db' => 'code', 'dt' => $i++); 
else if(!empty($img)) 
$columns[] = array('db' => 'img', 'dt' => $i++); 
else if(!empty($name)) 
$columns[] = array('db' => 'name', 'dt' => $i++); 
else if(!empty($short_description)) 
$columns[] = array('db' => 'short_description', 'dt' => $i++); 
+0

感谢了很多人! – Jay

1

你可以使用array_merge()

$columns = array(
    array('db' => 'code', 'dt' => 0), 
    array('db' => 'img', 'dt' => 1), 
    array('db' => 'name', 'dt' => 2), 
    array('db' => 'short_description', 'dt' => 3), 
); 

if ({your condition}) { 
    $columns = array_merge($columns, array(array('db' => 'short_description', 'dt' => 3))); 
}