将数组转换为另一个数组

时间:2015-07-27 03:32:07

标签: php mysql arrays database

我有一个我正在显示的数组:

echo '<table>';
foreach ($rowData as $row => $tr) {
    echo '<tr>'; 
    foreach ($tr as $td)
        echo '<td>' . $td .'</td>';
    echo '</tr>';
}
echo '</table>';

第二列和第四列始终是列的名称。结果如下:

  

姓名:John Locke - NickName:Locke

     

年龄:20岁 - 地址:好的

看模式?

如何将这些数组放入我的数据库?

由于我的数据库表结构是:

ID - Name - NickName - Age - Adress

我不知道如何使用我使用的阵列来做到这一点。

- UPDATE

$table = $html->find('table', 0);
$rowData = array();

foreach($table->find('tr') as $row) {
    // initialize array to store the cell data from each row
    $flight = array();

    foreach($row->find('td') as $cell) {

        foreach($cell->find('span') as $e){
            $e->innertext = '';
        }

        // push the cell's text to the array
        $flight[] = $cell->plaintext;
    }
    $rowData[] = $flight;
}

echo '<table>';
foreach ($rowData as $row => $tr) {
    echo '<tr>'; 
    echo '<td>' . $row . '</td>'; 
    foreach ($tr as $td)
        echo '<td>' . $td .'</td>';
    echo '</tr>';
}
echo '</table>';

2 个答案:

答案 0 :(得分:1)

你可以这样做:

$insert = "";
foreach ($rowData as $row => $tr) {
        $insert .= "('".$tr[0]."','".$tr[0]."','".$tr[0]."','".$tr[0]."'),";

}
$insert = substr($insert, 0, -1)
$sql = "Insert into YourTable values ".$insert;

答案 1 :(得分:0)

正如您已经知道数组位置的相关内容,IE位置为0到3.您可以像现在一样进行迭代并编译查询。

只需将此代码段放入您的代码中,我已经将其打开并且有点hackish,可能是更好的方式。只需看看它在屏幕上的作用,看看它是否需要更正。

$insert = '';
for ($i=0; $i<=3; $i++):

   $insert .= "'" . $tr[$i] . "'";

   if ($i !== 3):
       $insert .= ',';
   endif;

endfor;

echo $insert;

一旦看到正确的插入内容,您就可以(使用安全方法)将其插入数据库。