1

我在 php 中创建了一个选择数据库信息的动态表,我从各种 oracle 数据库中提取信息。

我在 26 个数据库中的一个上的 select 语句上执行了 var_export 并显示了它的结果:

$dump2 = var_export($row2,true);
echo $dump2;

我得到了以下信息:

array ( 'DB_NAME' => 'SOME_DATABASE', 'SYSTEM_DATE' => '25-JUL-13', 'TOTAL_DB_SIZE_GB'    => '50.50', 'DB_SIZE' => '48.60', 'TEMP_SIZE' => '3.30', 'REDO_SIZE' => '.61', 'ARC_SIZE' => '.21', )

我想要做的是将 DB_NAME、SYSTEM_DATE、TOTAL_DB_SIZE 等的结果导出到 php 变量。但是,我不想逐字导出结果,因为我想稍后将此导出应用到其他 25 个数据库。基本上,我不想存储确切的值,例如“SOMEDATABASE”或 25-JUL-13。有没有办法将值存储为 php 变量,然后这些变量可以用于多个 oracle 数据库连接?

我试图做一个子字符串方法,我只从 var_export 中选择了几个字符,但这不是一个合适的解决方案:

v_db_name2=substr("$dump2",24,8). "\n";
$v_system_date=substr("$dump2",55,9). "\n";
$v_total_db_size=substr("$dump2",92,5). "\n";
$v_db_size=substr("$dump2",116,5). "\n";
$v_temp_size=substr("$dump2",142,4). "\n";
$v_redo_size=substr("$dump2",167,3). "\n";
$v_arc_size=substr("$dump2",190,3);
4

1 回答 1

0

当您已经将信息分离到一个数组中时,不知道为什么要使用 substr

//Do whatever manipulation you need to do on $row2['DB_NAME'] etc
$dbName = str_replace("SOME_","",$row2['DB_NAME']);     
$systemDate = $row2['SYSTEM_DATE']; 

或者只保留数组本身并操纵值

$dbinfo = $row2;
$dbinfo['DB_NAME'] = str_replace("SOME_","",$dbinfo['DB_NAME'];
...//etc etc
于 2013-07-25T19:24:45.757 回答