我有一个名为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"
}
}
我需要将今天的日期附加到每个数组中的每个第20个元素(需要将其设置为日期和时间)
$ now = new DateTime(null,new DateTimeZone('America / New_York')); $今天= $ NOW->格式( 'Y-M-d');
我试过了:
foreach ($lines as $key => $value){
$lines[$key][20]=$today . ' ' . $lines[$key][20];
echo $lines[$key][20];
}
看起来很有效。
2。我需要将其插入到oracle db中。我很想知道是否已经有一个方法或函数将lines
数组中的每个数组插入到表中。
答案 0 :(得分:1)
为了序列化数组以插入数据库,可以使用json_encode()
或serialize()
;我个人喜欢json_encode()
,因为它更容易阅读和修改。
这两个函数都将数组等转换为编码字符串,然后您可以将其插入到基于文本的数据列中。
执行插入的实际操作..实际上取决于您使用的数据库的版本,因为以下代码仅适用于11g,10g,9i和8i。
请注意以下内容并非完全真实的代码,您必须根据documentation对其进行调整以适应您的需求。
<?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
?>