我想返回col1_2、col2_2、col3_2、col4_2、col1_3、col2_3、col3_3、col4_3、col1_4。。。等等,以便我可以在其他功能中使用它。
所以我做了这个。
function _fields($keynum){
for ($r=2; $r<$keynum; $r++){
for($c=1; $c<5; $c++){
$colname="col".$c."_".$r;
return $colname.",";
}
}
}
function create(){
if ($this->input->post('keynum')){
$keynum=$this->input->post('keynum');
$output = $this->_fields($keynum);
$output=explode(",", $output);
$data['output']=$output;
...
...
但是,函数_fields()只返回col1_2。如果我回显而不是返回$colname。",";它回声出col1_2、col2_2、col3_2、col4_2。但这不能在函数create()中使用。
我将感谢你的意见。提前谢谢。
尝试类似的东西
function _fields($keynum){
$colname = '';
for ($r=2; $r<$keynum; $r++){
for($c=1; $c<5; $c++){
$colname .= "col".$c."_".$r;
}
}
return $colname;
}
这是的实时演示
如果要使用_fields
函数中生成的各个列名,可以使用数组而不是字符串:
function _fields($keynum){
$colname = array();
for ($r=2; $r<$keynum; $r++){
for($c=1; $c<5; $c++){
$colname[] = "col".$c."_".$r;
}
}
return $colname;
}
现在您不必在create
函数中explode
任何内容:
function create(){
if ($this->input->post('keynum')){
$keynum=$this->input->post('keynum');
$output = $this->_fields($keynum);
foreach ($output as $col){
echo $col;
}
...
...