Reputation: 496
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
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
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