Consulta oracle utilizando php

Tenho as seguintes :

create or replace type t_fone as object(
    codPais    varchar2(2) ,
    ddd    varchar2(2) ,
    fone    varchar2(8) ,
    descricao    varchar(30) );

create or replace type t_fones as varray(7) of t_fone;
/
create or replace type t_empExp as object(
    nome    varchar2(30) ,
    cnpj    varchar2(12)  ,
    cobertura    t_cobertura ,
    endereco        t_endereco,
    fones     t_fones    );


       
                          <?php
						 
			
			$db_conn = ocilogon("===","**",**");

            $cmdstr = " begin select fones into :fones
			 from pFisicas p where deref(p.endereco.pais).nome = 'Paraguai'; end;";

$statement = oci_parse($db_conn, $cmdstr);

$col = oci_new_collection($db_conn, 'T_FONES' , 'FONES');

//$col2 = oci_new_collection($db_conn , 'T_FONE');


oci_bind_by_name($statement, 'FONES', $col, -1, SQLT_RDD);

oci_bind_by_name($statement, 'T_FONE', $col, -1, SQLT_RDD);

$result = ociexecute($statement);

//$nrows = ocifetchstatement($statement, $r);

//print_r(($col->getElem(0))


/*for ($i = 0; $i < $col->size(); $i++)
{
print $col->getElem($i) . "<br>";
}
*/

?>

Funciona para consultas mas simples , quando um varray e de um tipo ativo como number , mas com que eu faço quando tenho um varray de um tipo estruturado ?

rapaz, eu já trabalhei com a dupla dinâmica, as não entendi nada da sua dúvida! :slight_smile:

se sua dúvida for como percorrer um array, usa algo como:

foreach($seuArray as $umIndiceDoArray){
	echo $umIndiceDoArray 
	//seu código aqui.
}