优雅地将PHP多维clolumns=>值列表转换为类似数据库的行

优雅地将PHP多维clolumns=>值列表转换为类似数据库的行,php,Php,我很难在标题中描述这一点,我正在接受建议 我有一个表格,其中有一些联系人数据的输入,名为contact_names[],contact_email[]和contact_phone[]。如果需要更多联系人,可以动态添加更多字段。长话短说,如果用户通知3个联系人,我的$\帖子将包含以下内容: $_POST = [ (...) 'contact_names' => ['john', 'Ed', 'Paul'], 'contact_emails' => ['john@

我很难在标题中描述这一点,我正在接受建议

我有一个表格,其中有一些联系人数据的输入,名为contact_names[],contact_email[]和contact_phone[]。如果需要更多联系人,可以动态添加更多字段。长话短说,如果用户通知3个联系人,我的$\帖子将包含以下内容:

$_POST = [
    (...)
    'contact_names' => ['john', 'Ed', 'Paul'],
    'contact_emails' => ['john@gmail.com', 'ed@gmail.com', 'paul@gmail.com'],
    'contact_phones' => ['555-5555', '333-3333', '444-4444'],
    (...)
];
$contact_rows = [
    0 => ['contact_name' => 'john', 'contact_email' => 'john@gmail.com', 'contact_phone' => '555-5555'],
    1 => ['contact_name' => 'Ed', (...)],
    2 => ['contact_name' => 'Paul', (...)]
];
我想将其转换为如下数组:

$_POST = [
    (...)
    'contact_names' => ['john', 'Ed', 'Paul'],
    'contact_emails' => ['john@gmail.com', 'ed@gmail.com', 'paul@gmail.com'],
    'contact_phones' => ['555-5555', '333-3333', '444-4444'],
    (...)
];
$contact_rows = [
    0 => ['contact_name' => 'john', 'contact_email' => 'john@gmail.com', 'contact_phone' => '555-5555'],
    1 => ['contact_name' => 'Ed', (...)],
    2 => ['contact_name' => 'Paul', (...)]
];
因为这将有助于我将行插入一个表中,表中包含contact\u name、contact\u email和contact\u phone列


目前,我有一个实现,可以计算联系人姓名,并使用for循环遍历数据,填充$contact_行[$I],但我一直在想,是否有一种更优雅的方法可以使用数组列之类的内容来实现这一点。

这一定是第100个答案,但只需将表单创建为:

<input type="text" name="contact[0][name]" value="1">
<input type="text" name="contact[0][email]" value="2">
<input type="text" name="contact[0][phone]" value="3">
<input type="text" name="contact[1][name]" value="4">
<input type="text" name="contact[1][email]" value="5">
<input type="text" name="contact[1][phone]" value="6">

之后-打印文章并享受。

这一定是第100个答案,但只需将表单创建为:

<input type="text" name="contact[0][name]" value="1">
<input type="text" name="contact[0][email]" value="2">
<input type="text" name="contact[0][phone]" value="3">
<input type="text" name="contact[1][name]" value="4">
<input type="text" name="contact[1][email]" value="5">
<input type="text" name="contact[1][phone]" value="6">

之后-打印并享受。

但我一直想知道是否有更优雅的方式-请发布您的尝试。解释代码远不如展示代码有效。但我一直想知道是否有更优雅的方式——请发布您的尝试。解释代码远不如展示代码有效。这似乎是一种更好的实现方法。我想知道一个PHP解决方案,但无论如何,这可能要优雅得多。这似乎是一个更好的实现方法。我想知道一个PHP解决方案,但无论如何这可能要优雅得多。