单个php行中的关联数组

时间:2013-03-07 10:58:12

标签: php mysql

我想咨询如何做到以下几点:

我有一些我希望作为数组插入MySQL数据库的主要值,让我们说这是父母。

array(parent1,parent2,parent3,parent4);

现在,这些父母各有一个或多个孩子,例如:

parent1 => child1,
parent2 => child1,child2,child3,
parent3 => child1, child2, child3

等...

我将有一个表单,您可以在其中添加父项,添加完一项后,您可以添加X子项。

那么处理这种情况的最佳方法是什么,我猜它需要一个关联数组,有人可以给我一个建议,使用php和MySQL。

1 个答案:

答案 0 :(得分:0)

您可以创建一个如下所示的数组:

$arr = array(
    'parent1' => array('child1'),
    'parent2' => array('child1', 'child2'),
    'parent3' => array('child1', 'child2', 'child3')
);
// Debugging...
var_dump(array_keys($arr)); // These are the parents
var_dump(array_values($arr)); // And these are their children

然后,插入:

var_dump('INSERT INTO `parents` (`name`) VALUES ("'.implode('"), ("', array_keys($arr)).'");'); // These are the parents
foreach ($arr as $parent => $children)
    var_dump('INSERT INTO `children` (`parent_name`, `name`) VALUES ("'.$parent.'", "'.implode('"), ("'.$parent.'", "', array_keys($children)).'");'); // These are the children

var_dump()更改为用于运行查询的相应方法。