创建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);
答
这很简单,你只需要追加/推子数组到主数组。
这样,
$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);
但我不希望在按键的按键 –
'Arrays'卖场值,请参阅文档:http://php.net/manual/en/language .types.array.php –
请看我的问题中的示例输出数组 –