Jay Welsh
Jay Welsh

Reputation: 496

How to include a conditional statement within this array?

Current code:

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

What I would like to create (I know this code is invalid, I need advice on how to achieve what I am going for):

$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),
    }
);

Upvotes: 0

Views: 33

Answers (2)

Thaillie
Thaillie

Reputation: 1362

You could use 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)));
}

Upvotes: 1

Man Programmer
Man Programmer

Reputation: 5356

try like this

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++);

Upvotes: 2

Related Questions