创建foreach循环

问题描述:

在PHP动态关联数组我有这样创建foreach循环

foreach($this->input->post('users') as $value) 
     { 
      foreach($this->input->post('group_name') as $v) 
      { 
       echo $value.','.$v.'<br>'; 

      } 
     } 

而且其输出中环是

17,5 
17,6 
18,5 
18,6 
19,5 
19,6 
20,5 
20,6 

现在我想创建这样一个关联数组使用上述数值。

array(
     array(
       'user_id' => 17, 
       'group_id' => 15 
     ), 
     .... 
     .... 
     array(
       'user_id' => 20, 
       'group_id' => 6 
     ) 

) 

我如何能做到这一点 我在foreach循环试过,但它会打印两个独立的数组。

  $temp['user_id'][]=$v; 
      $temp['group_id'][]=$value; 

所有你需要做的就是追加数组各自的值。

$result = []; 
foreach($this->input->post('users') as $value) 
{ 
     foreach($this->input->post('group_name') as $v) 
     { 
       $result[] = ['user_id' => $value, 'group_id' => $v]; 
     } 
} 
var_dump($result); 
+0

但我不希望在按键的按键 –

+0

'Arrays'卖场值,请参阅文档:http://php.net/manual/en/language .types.array.php –

+0

请看我的问题中的示例输出数组 –

这很简单,你只需要追加/推子数组到主数组。

这样,

$main_array=array(); 
foreach($this->input->post('users') as $value) 
     { 
      foreach($this->input->post('group_name') as $v) 
      { 
       $group_array=array(); 
       $group_array["group_id"]=$v; 
       $group_array["user_id"]=$value; 
       $main_array[]=$group_array; 
       //echo $value.','.$v.'<br>'; 
      } 
     } 
print_r($group_array); 

您也可以使用array_push()儿童阵列推到主存储器阵列。

语法那会,

array_push($main_array, $child_array); 

此循环应该帮助你。

$resultArray = []; 
foreach($this->input->post('users') as $value) { 
    foreach($this->input->post('group_name') as $v) { 
     $resultArray[] = array(
      'user_id' => $value, 
      'group_id' => $v, 
     ); 
    } 
} 

var_dump($resultArray); 

ü可以试试这个

$temp = array(); 
foreach($this->input->post('users') as $key=>$value) 
    { 
     foreach($this->input->post('group_name') as $v) 
     { 
      $temp[$key]['user_id']=$v; 

      $temp[$key]['group_id']=$value; 

     } 
    } 

print_r($temp);