我有这样的循环
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;
答案 0 :(得分:3)
您所要做的就是为数组添加各自的值。
$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);
答案 1 :(得分:1)
这个循环可以帮助你。
$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);
答案 2 :(得分: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);
答案 3 :(得分:0)
你能试试吗
$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);