【问题标题】:Not able to Print MultiDimensional array in PHP无法在 PHP 中打印多维数组
【发布时间】:2017-09-04 10:53:22
【问题描述】:

我正在尝试从 Oracle 数据库中获取一个数组,从 MySQL 数据库中获取另一个数组。

但我返回的数组格式不同,我无法在 HTML 表格中显示它们。

$result = $instance->prepare("SELECT * from dd ");
$result->execute();
while ($row = $result->fetchAll(PDO::FETCH_ASSOC))
{
    $rows2 = $row;
}
$array = oci_parse($conn, "SELECT * FROM DD");
oci_execute($array);
while($row=oci_fetch_array($array, OCI_ASSOC))
{
    $rows1 =$row;
}

print_r($rows1);
print_r($rows2);

$output = array_merge($rows1,$rows2);
print_r($output);

这里$instance$conn是各自的连接变量。

打印两个数组后得到的输出是:

来自 Oracle 的数组:

Array ( [CLIENTID] => 2 [CLIENTNAME] => dsd [PHONENO] => 53556535 [ADDRESS] => Mumbai [ROUTE] => 4323 ) 

来自 MySQL 的数组:

Array ( [0] => Array ( [ClientId] => 3 [ClientName] => PQR [PhoneNo] => 786483744 [Address] => Pune [Route] => 3329 ) ) 

合并后我得到了这个数组:

Array ( [CLIENTID] => 2 [CLIENTNAME] => dsd [PHONENO] => 53556535 [ADDRESS] => Mumbai [ROUTE] => 4323 [0] => Array ( [ClientId] => 3 [ClientName] => PQR [PhoneNo] => 786483744 [Address] => Pune [Route] => 3329 ) )

如何在 HTML 格式的表格中打印?

【问题讨论】:

标签: php mysql arrays oracle multidimensional-array


【解决方案1】:

在这种情况下,你不能只合并两个数组。试试下面的代码;

$all = array();

$all[] = $rows1;

foreach($rows2 as $k2=>$v2) {
     $new=array();
     $new['CLIENTID'] = $v2['ClientId'];
     $new['CLIENTNAME'] = $v2['ClientName'];
     $new['PHONENO'] = $v2['PhoneNo'];
     $new['ADDRESS'] = $v2['Address'];
     $new['ROUTE'] = $v2['Route'];
     $all[]=$new;
}

 $str='<table><tr><th>CLIENTID</th><th>CLIENTNAME</th><th>PHONENO</th><th>ADDRESS</th><th>ROUTE</th></tr>';
foreach($all as $arr) {
     $str.='<tr><td>'.$arr['CLIENTID'].'</td><td>'.$arr['CLIENTNAME'].'</td><td>'.$arr['PHONENO'].'</td><td>'.$arr['ADDRESS'].'</td><td>'.$arr['ROUTE'].'</td>';
}
$str.='</table>';

echo $str;

如果 $rows1 是一个类似 $rows2 的数组数组,你也应该为 $rows1 迭代相同的循环

【讨论】:

  • @ozgur 我只能从 oracle 数据库的“DD”表中获取最后一行,而不是其他值,并从 mysql 数据库值中获取所有值
  • 当我使用 $rows2[] 来检索已完成的数据时,它显示未定义索引:CLIENTID 未定义索引:CLIENTNAME 未定义索引:所有属性的 PHONENO
  • @Lightyagami for oracle你应该按照php oracle文档php.net/manual/en/function.oci-parse.php查看rows2数据,你可以使用print_r($rows2);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
  • 1970-01-01
相关资源
最近更新 更多