我正在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);
答案 0 :(得分: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