-2

我有这个数组叫做lines. 当我这样做时var_dump($lines),我得到了这个结果:

array(3) {
  [0]=>
  array(21) {
    [0]=>
    string(1) "3"
    [1]=>
    string(1) "1"
    [2]=>
    string(1) "0"
    [3]=>
    string(8) "49992904"
    [4]=>
    string(6) "283699"
    [5]=>
    string(1) "9"
    [6]=>
    string(3) "610"
    [7]=>
    string(1) "0"
    [8]=>
    string(1) "0"
    [9]=>
    string(1) "0"
    [10]=>
    string(1) "0"
    [11]=>
    string(4) "1142"
    [12]=>
    string(5) "61219"
    [13]=>
    string(5) "21873"
    [14]=>
    string(1) "6"
    [15]=>
    string(1) "2"
    [16]=>
    string(2) "91"
    [17]=>
    string(1) "1"
    [18]=>
    string(4) "1.90"
    [19]=>
    string(4) "11.9"
    [20]=>
    string(8) "15:03:46"
  }
  [1]=>
  array(21) {
    [0]=>
    string(1) "3"
    [1]=>
    string(1) "1"
    [2]=>
    string(1) "0"
    [3]=>
    string(8) "49986779"
    [4]=>
    string(6) "291340"
    [5]=>
    string(2) "11"
    [6]=>
    string(3) "667"
    [7]=>
    string(1) "0"
    [8]=>
    string(1) "0"
    [9]=>
    string(1) "0"
    [10]=>
    string(1) "0"
    [11]=>
    string(4) "1286"
    [12]=>
    string(5) "34464"
    [13]=>
    string(5) "21778"
    [14]=>
    string(1) "4"
    [15]=>
    string(1) "2"
    [16]=>
    string(2) "93"
    [17]=>
    string(1) "1"
    [18]=>
    string(4) "1.28"
    [19]=>
    string(3) "8.0"
    [20]=>
    string(8) "15:04:16"
  }
  [2]=>
  array(21) {
    [0]=>
    string(1) "6"
    [1]=>
    string(1) "1"
    [2]=>
    string(1) "0"
    [3]=>
    string(8) "49986826"
    [4]=>
    string(6) "292415"
    [5]=>
    string(2) "10"
    [6]=>
    string(3) "622"
    [7]=>
    string(1) "0"
    [8]=>
    string(1) "0"
    [9]=>
    string(1) "0"
    [10]=>
    string(1) "0"
    [11]=>
    string(4) "1226"
    [12]=>
    string(5) "31334"
    [13]=>
    string(5) "20273"
    [14]=>
    string(1) "4"
    [15]=>
    string(1) "1"
    [16]=>
    string(2) "94"
    [17]=>
    string(1) "1"
    [18]=>
    string(4) "1.21"
    [19]=>
    string(3) "7.5"
    [20]=>
    string(8) "15:04:46"
  }
}
  1. 我需要将今天的日期附加到每个数组中的第 20 个元素中的每一个(需要使其成为日期和时间)

    $now = new DateTime(null, new DateTimeZone('America/New_York')); $today=$now->format('Ymd');

我试过这个:

foreach ($lines as $key => $value){
   $lines[$key][20]=$today . ' ' . $lines[$key][20];
   echo $lines[$key][20];

}

看起来它奏效了。

2. 我需要将它插入到 oracle 数据库中。我很想知道是否已经有一种方法或函数可以将数组中的每个数组插入lines到表中。

4

1 回答 1

1

为了序列化数组以插入数据库,可以使用json_encode(), 或serialize(); 我个人喜欢json_encode(),因为它更容易阅读和修改。

这两个函数都将数组等转换为编码字符串,然后您可以将其插入到基于文本的数据的列中。

要执行插入的实际操作.. 这实际上取决于您使用的数据库版本,因为以下代码仅适用于 11g、10g、9i 和 8i。

请注意,以下代码并非完全真实的代码,您必须按照文档对其进行调整以满足您的需求。

<?php

$str = json_encode($lines); //convert to string.  You should have properly escaped the data prior to this/ran it through some function to escape the data.  We don't want injection attacks to occur
$conn = oci_connect('username', 'password', 'localhost'); //connect to database

$stmt = oci_parse($conn, "insert into tablename ('column')
          values('$str')"); // construct statement
oci_execute($stmt, OCI_DEFAULT); // statement executed/data inserted

?>
于 2013-06-25T20:23:43.253 回答