三维数组插入数据库问题 本帖最后由 hfhuobing 于 2012-05-31 15:26:25 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $arrData = array('manager' =>'5','blogname' => '博客','domain' => 'bokee','user[1]'=>array('uid' => 1,'name'=>'zhangsan'),'user[2]'=>array('uid'=>2,'name' => 'lisi'),);foreach($arrData as $value){ if(gettype($value) === 'array'){ echo $value['uid']; echo $value['name']; }} 楼主,那是二维数组:$arrData = array('manager' =>'5','blogname' => '博客','domain' => 'bokee','user[1]'=>array('uid' => 1,'name'=>'zhangsan'),'user[2]'=>array('uid'=>2,'name' => 'lisi'),);#这是二维数组foreach($arrData as $k=>$data){ if(is_array($data)) $user[] = $data; else $arr[$k] = $data;}print_r($arr);#Array ( [manager] => 5 [blogname] => 博客 [domain] => bokee )print_r($user);#Array ( [0] => Array ( [uid] => 1 [name] => zhangsan ) [1] => Array ( [uid] => 2 [name] => lisi ) ) 这个就写1个 插入方法 和 字段生成方法吧.先把 2个数组拆分随手打的 可能有错误, 自己调整下。$arrData = array('manager' =>'5','blogname' => '博客','domain' => 'bokee','user[1]'=>array('uid' => 1,'name'=>'zhangsan'),'user[2]'=>array('uid'=>2,'name' => 'lisi'),);$data1 =array('manager' =>'5','blogname' => '博客','domain' => 'bokee',);$data2 =(array)$arrData['user'];//data1 我们就不说了.function add($data,$table){ foreach($data as $v){ $key = implode('`,`',array_keys($v)); $key = '`'.$key.'`'; $value = implode("','",array_values($v)); $value = "'".$value ."'"; if(!$res = create($key,$value,$table)) { return $res; } } //生成结果:uid,name}function create($key,$value,$table){ insert into $table($key) values($value)} PHP 正则匹配 在线等 php如何转换文档编码 PHP有没有类似任务计划定时操作的功能? 关于下载日志的功能实现。 百度的弹出个页面来,下面的页面不能点击,是怎么实现的呢? 如何用php将文件传到另外一台服务器上? 问个变量的简单问题? 初学者的奇怪问题! 在PHP中用new com()来调用COM对象,可为什么COM返回的汉字是乱码? 生成网站地图有什么简易的方法吗? JpGraph中柱状图的问题 PHP读取TXT指定行的数据
$arrData = array(
'manager' =>'5',
'blogname' => '博客',
'domain' => 'bokee',
'user[1]'=>array('uid' => 1,'name'=>'zhangsan'),
'user[2]'=>array('uid'=>2,'name' => 'lisi'),
);
foreach($arrData as $value){
if(gettype($value) === 'array'){
echo $value['uid'];
echo $value['name'];
}
}
'manager' =>'5',
'blogname' => '博客',
'domain' => 'bokee',
'user[1]'=>array('uid' => 1,'name'=>'zhangsan'),
'user[2]'=>array('uid'=>2,'name' => 'lisi'),
);#这是二维数组
foreach($arrData as $k=>$data){
if(is_array($data))
$user[] = $data;
else
$arr[$k] = $data;
}
print_r($arr);
#Array ( [manager] => 5 [blogname] => 博客 [domain] => bokee )
print_r($user);
#Array ( [0] => Array ( [uid] => 1 [name] => zhangsan ) [1] => Array ( [uid] => 2 [name] => lisi ) )
先把 2个数组拆分
随手打的 可能有错误, 自己调整下。$arrData = array(
'manager' =>'5',
'blogname' => '博客',
'domain' => 'bokee',
'user[1]'=>array('uid' => 1,'name'=>'zhangsan'),
'user[2]'=>array('uid'=>2,'name' => 'lisi'),
);
$data1 =array('manager' =>'5','blogname' => '博客','domain' => 'bokee',);
$data2 =(array)$arrData['user'];//data1 我们就不说了.
function add($data,$table)
{
foreach($data as $v){
$key = implode('`,`',array_keys($v));
$key = '`'.$key.'`';
$value = implode("','",array_values($v));
$value = "'".$value ."'";
if(!$res = create($key,$value,$table))
{
return $res;
}
}
//生成结果:uid,name
}
function create($key,$value,$table){
insert into $table($key) values($value)
}