如何从php中的两个for循环返回


How to return from two for-loops in php

我想返回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;
        }
       ...
       ...