如何在此数组中包含条件语句?
问题描述:
当前代码:如何在此数组中包含条件语句?
$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),
}
);
答
尝试这样
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++);
答
你可以使用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)));
}
感谢了很多人! – Jay