[PHP] Estrarre da una classe i valori che mi interessano

condorex

Nuovo Utente
26 Nov 2019
3
0
1
Salve,
da una chiamata SoapClient ricevo valori strutturati come segue.
Vorrei trarne un elenco ma non capisco come entrare in questo oggetto e fare l'estrazione dei vari array.
Qualcuno ne sa di più?
Grazie della collaborazione

stdClass Object
(
[return] => stdClass Object
(
[pageProductsCount] => 100
[products] => Array
(
[0] => stdClass Object
(
[metadataFormat] => stdClass Object
(
[name] => oai_dc
[namespace] => http://www.openarchives.org/OAI/2.0/oai_dc/
[prefix] => dc
[schema] => http://www.openarchives.org/OAI/2.0/oai_dc.xsd
)

[productID] => 32532
[productMetadata] => stdClass Object
(
[dc] => stdClass Object
(
[title] => Malignant fibrous histiocytoma of the lung with inflammatory features
[contributor] => Array
(
[0] => sòdlfsàldf
[1] => dfsdf
)

[date] => 1 - 1984
[identifier] => https://iris.univpm.it/handle/11566/32532
[publisher] => Piccin Editore
)

)

[productURI] => urn:u-gov:univpm:RI_PRD:32532
)

[1] => stdClass Object
(
[metadataFormat] => stdClass Object
(
[name] => oai_dc
[namespace] => http://www.openarchives.org/OAI/2.0/oai_dc/
[prefix] => dc
[schema] => http://www.openarchives.org/OAI/2.0/oai_dc.xsd
)

[productID] => 33363
[productMetadata] => stdClass Object
(
[dc] => stdClass Object
(
[title] => Correlazioni tra immunoistochimica e ultrastruttura negli schwannomi
[contributor] => Array
(
[0] => sdsdfs
[1] => sdfsdf
)

[date] => 1 - 1991
[identifier] => https://iris.univpm.it/handle/11566/33363
[publisher] => Edizioni Minerva Medica:Corso Bramante 83-85, 10126 Turin Italy:011 39 011 678282318, EMAIL: [email protected], INTERNET: http://www.sdfsfd.it, Fax: 011 39 011 949820
)

)

[productURI] => urn:u-gov:univpm:RI_PRD:33363
)
 

marino51

Utente Attivo
28 Feb 2013
3.001
173
63
Lombardia
ti ho preparato questo esempio sperando che sia chiaro,
devi completare le ripresa dei dati del prodotto,
ma come vedi c'é un indice ($e), che dovrebbe permetterti di scorrere la risposta, per estrarre i dati di tutti i prodotti, in funzione del "$pageProductsCount"

vedi se ti aiuta, puoi già stampare queste prime info per capire se funziona ....
PHP:
try { $output = $client->Interrogazione($SoapRequest); }   // invio della richiesta e risposta in $output
catch ( SoapFault $e ) { }


$pageProductsCount = $output->return->pageProductsCount;   // elementi presenti nella risposta

$products = $output->return->products;                     // puntatore a ciascun elemento


$e = 0;


$ID = $products[$e]->metadataFormat;                       // puntatore elemento


$name      = $ID->name;
$namespace = $ID->namespace;
$prefix    = $ID->prefix;
$schema    = $ID->schema;


$productID = $products[$e]->productID;                      // ID prodotto

$date       = $products[$e]->date;
$identifier = $products[$e]->identifier;
$publisher  = $products[$e]->publisher;
 

condorex

Nuovo Utente
26 Nov 2019
3
0
1
Ciao
allora Marino51 stampa fino a
$schema = $ID->schema;
poi più nulla. In Soldoni a me serve il contenuto di "dc"
[productMetadata] => stdClass Object
(
[dc] => stdClass Object
(
[title] => Malignant fibrous histiocytoma of the lung with inflammatory features
[contributor] => Array
(
[0] => CINTI, Saverio
[1] => BALERCIA, Giancarlo
)

[date] => 1 - 1984
[identifier] => https://iris.univpm.it/handle/11566/32532
[publisher] => Piccin Editore
)

)

Grazie mille
 

condorex

Nuovo Utente
26 Nov 2019
3
0
1
Ho risolto in questo modo grazie all'imbeccata di Marino51
Comunque con SOAP mi si è aperto un mondo

PHP:
try { $output = $client->getProductsByQuery($requestParams); }
catch ( SoapFault $e ) { }

$pageProductsCount = $output->return->pageProductsCount;   // elementi presenti nella risposta
echo $pageProductsCount;

$products = $output->return->products;                     // puntatore a ciascun elemento

$e = 0;

$ID = $products[$e]->metadataFormat;                       // puntatore elemento
while ($e <= 10) {

    $productID = $products[$e]->productID;                      // ID prodotto

    //$MetaData = $products[$e]->productMetadata
    //$dc = $MetaData[$e]->dc;
    $arrPubblicazione = $products[$e]->productMetadata->dc;        // tutti i dati relativi alla publbicazione

    $titolo = $arrPubblicazione->title;                            //  titolo
    $link =  $arrPubblicazione->identifier;                        // link alla pubblicazione
    $data =  $arrPubblicazione->date;                            // data pubblicazione
    $publisher    =  $arrPubblicazione->publisher;                // editore


    echo '<a href="'.$link.'">'.$titolo.'</a><br>';
    echo 'Relatori:<br>';
    foreach ($arrPubblicazione->contributor as $value) {        // contributori
        echo $value.'<br>';
    }
    echo 'Data Pubblicazione: '.$data.'<br>';
    echo 'Casa Editrice: '.$publisher.'<br><br><br>';
    $e++;
}
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Estrarre dati colonna in una stringa PHP 6
U [PHP] estrarre i risultati di una query e visualizzarli in una tabella. PHP 9
giuseppe_123 [PHP] Estrarre giorno mese e anno da una data PHP 2
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
S [PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo PHP 10
R [PHP] Estrarre id utente loggato.? PHP 4
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2
trattorino estrarre titolo video facebook in php PHP 0
N [PHP] Estrarre singolo valore da array PHP 4
trattorino [PHP] sql estrarre in base all'ultima visita PHP 4
Jensen [PHP] Estrarre prossimi 4 lunedì PHP 4
trattorino [PHP] estrarre dati singoli PHP 1
G [PHP] estrarre data da timeline yyyy-dd-gg hh:mm:ss PHP 4
S [PHP] estrarre dati sito web protetto con username e password PHP 13
Merlina3377 [PHP] estrarre solo un determinato id da tanti con REGEXP O LIKE PHP 1
trattorino Estrarre Nome Utente jquery div php PHP 9
S [PHP] estrarre le email da un elenco di url PHP 21
T4MAR4 [PHP] estrarre tag da un testo PHP 3
T [PHP] Estrarre stringa PHP 3
G [PHP] ESTRARRE DA DB VALORE MASSIMO E MINIMO IN UN INTERVALLO IMPOSTABILE A PIACERE PHP 56
bubino8 [PHP] Estrarre dominio No Sottodomini PHP 10
L [PHP] Estrarre dati da sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
sandropochi [PHP] Query per estrarre record con data successiva a quella odierna PHP 2
giancadeejay [PHP] Estrarre solo record dell'utente connesso PHP 4
S [PHP] estrarre numero da stringa PHP 5
asevenx [PHP] Estrarre valori evitando dublicati dal database PHP 2
filippino Script PHP per estrarre dati estrazioni da sito "10 e lotto" PHP 0
M Php+MySql: Estrarre dati da tabella e consentire all'utente di modificare un valore 'in linea' PHP 6
R Estrarre dati da tabella mysql [era:Sto benedetto php] PHP 22
M Estrarre dato da php e mysql PHP 5
A Estrarre da un Datetime di mysql la data e l'orario in PHP PHP 2
O [help] estrarre e visualizzare dati da mysql con php a oggetti PHP 6
I Estrarre dati da un file php PHP 3
D [PHP/SQL] Estrarre risultati da 2 database Database 0
P estrarre dati xml excel con php XML 1
L Problemi form Pagina php HTML e CSS 2
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6

Discussioni simili