如何解决如何将数据推入php中的数组
| 亲爱的大家, 我想将数据推送到数组中。我正在使用流动代码。有两个数组。一个按住键和第二个值。我正在使用流动代码while($data=MysqL_fetch_array($result))
{
foreach ($arrTemp as $val)
{
array_push($arrKeys,$val);
array_push($arrValues,$data[$val]);
}
}
print_r($arrKeys);
print_r($arrValues);
$arrReturn = array_combine($arrKeys,$arrValues);
....................................
并获得两个数组的流动结果。
Array ( [0] => due_date [1] => flag_code [2] => due_date [3] => flag_code [4] => due_date [6] => flag_code )
Array ( [0] => 12:04:2011 [1] => 0 [2] => 13:04:2011 [3] => 0 [4] => 14:04:2011 [6] => 0 )
当我尝试使用array_combined函数组合数组时,它仅返回两个值的数组,例如:Array (due_date => 14:04:2011 flag => 0)
我怎么能在单个数组中获取所有值.....!
解决方法
这是因为您有多个相同的阵列键。因此,首先插入
due_date
,然后插入flag_code
,然后它将尝试插入另一个due_date
,但是由于数组中已存在该due_date
,它将覆盖它。因此,数组中剩下的唯一值将是最后一对。
解决方案是在一个数组中不要有多个相同的键(due_date
和flag_code
)
您可以这样做:
foreach ($arrTemp as $val) {
$arrReturn[] = array($val => $data[$val];
}
这将为您提供键入数组的每个结果集,如下所示:
$arrReturn[0] = array (due_date => 14:04:2011 flag => 0);
$arrReturn[1] = array (due_date => 14:04:2011 flag => 0);
$arrReturn[2] = array (due_date => 14:04:2011 flag => 0);
...
,$ctr = 0;
foreach ($arrKeys as $id => $key) {
$res_array[$ctr][$key] = $arrValues[$id];
if ($key == \'flag_code\') $ctr++;
}
print_r($res_array);
输出:
Array
(
[0] => Array
(
[due_date] => 12:04:2011
[flag_code] => 0
)
[1] => Array
(
[due_date] => 13:04:2011
[flag_code] => 0
)
[2] => Array
(
[due_date] => 14:04:2011
[flag_code] => 0
)
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。