php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.12.2011, 00:33  
Neuer Benutzer
 
Registriert seit: 17.12.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Agrippa befindet sich auf einem aufstrebenden Ast
Standard Soap response stdclass Object ausgeben

Hallo,

nachdem ich es als völliger Anfänger geschaft habe einen Soapclient zu erstellen und dieser sogar funktioniert komme ich nun nach Tagen der Suche nicht wirklich weiter. Folgend mein response vom Server:

PHP-Code:
stdClass Object ( [meta] => stdClass Object ( [name] => elapsed-time [value] => 438 

[
biblio-search] => stdClass Object ( [query] => stdClass Object ( [_] => ti=(green and plant) and PN=CN [syntax] => CQL ) [range] => stdClass Object ( [begin] => [end] => 

[
search-result] => stdClass Object
     
(
         [
publication-reference] => Array 
            ( 
            [
0] => stdClass Object
                 
(
                     [
document-id] => stdClass Object
                    
(
                            [
country] => CN 
                            
[doc-number] => stdClass Object                             (     
                                [
_] => 102106386
                             

                            [
kind] => stdClass Object    
                             

                                [
_] => 
                            
)
                     ) 
                    [
data-format] => docdb 
                    
[system] => test.org 
                    
[family-id] => 44170764
                 

.... 
Ich weiß, dass dieser response mit einer (wahrscheinlich mit mehreren) foreach Schleife ausgegeben werden muss. Habe es bisher geschaft den response mittels einer Schleife zu kürzen:
PHP-Code:
foreach ($result->{'biblio-search'}->{'search-result'} as $results) {
                   
print_r ($results); 
nun sieht der respons so aus:
PHP-Code:
Array 
            ( 
            [
0] => stdClass Object
                 
(
                     [
document-id] => stdClass Object
                    
(
                            [
country] => CN 
                            
[doc-number] => stdClass Object                             (     
                                [
_] => 102106386
                             

                            [
kind] => stdClass Object    
                             

                                [
_] => 
                            
)
                     ) 
                    [
data-format] => docdb 
                    
[system] => test.org 
                    
[family-id] => 44170764
                 

.... 
Nun probiere ich seit ein paar Tagen rum wie der Rest ausgegeben werden kann. Mein Problem sind die vielen verschachtelten stdClass Objekte. Wie gehe ich weiter vor? eine weitere foreach Schleife aber worüber?

Der Rückgabewert soll so aussehen:

document-id=CN102106386A
family-id = 44170764

Kann mir jemand einen Hinweiß geben? Achso: PHP Version 5.3.8 auf xampp

Beste Grüße
Norbert
Agrippa ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.12.2011, 23:59  
Neuer Benutzer
 
Registriert seit: 17.12.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Agrippa befindet sich auf einem aufstrebenden Ast
Standard Soap response stdclass Object ausgeben

Hallo wieder,

habe eben einen Codeschnipsel gefunden der mein Problem denke ich ganz gut abbildet. Beispiel Array:
PHP-Code:
Array 

    [
0] => stdClass Object 
    

        [
created_at] => Tue Feb 17 23:12:35 +0000 2009 
        
[id] => 1220778489 
        
[text] => @shealan And one more time... 
        [
source] => twitterrific [truncated] => false
         
[in_reply_to_status_id] => stdClass Object ( ) 
        [
in_reply_to_user_id] => 21141238 
        
[favorited] => false 
        
[in_reply_to_screen_name] => myweight_dev 

        
[user] => stdClass Object 
        

            [
id] => 13680002 
            
[name] => Shealan 
            
[screen_name] => Shealan 
            
[location] => London 
            
[description] => During the day I spin webs (fabriclondon.com), during the night I spin records (phatplastic.com). 
            [
profile_image_url] => http://s3.amazonaws.com/twitter_production/profile_images/53309632/2_normal.jpg 
            
[url] => http://www.phatplastic.com 
            
[protected] => false [followers_count] => 108 
        

    )
 
    [
1] => stdClass Object 
    

        [
created_at] => Tue Feb 17 23:08:13 +0000 2009 
        
[id] => 1220764467 
        
[text] => @shealan Testing 123 
        
[source] => twitterrific 
        
[truncated] => false
         
[in_reply_to_status_id] => stdClass Object ( ) 
        [
in_reply_to_user_id] => 21141238 
        
[favorited] => false 
        
[in_reply_to_screen_name] => myweight_dev
         
        
[user] => stdClass Object 
        

            [
id] => 13680002 
            
[name] => Shealan 
            
[screen_name] => Shealan 
            
[location] => London 
            
[description] => During the day I spin webs (fabriclondon.com), during the night I spin records (phatplastic.com). 
            [
profile_image_url] => http://s3.amazonaws.com/twitter_production/profile_images/53309632/2_normal.jpg 
            
[url] => http://www.phatplastic.com 
            
[protected] => false 
            
[followers_count] => 108 
        
)
     )
    

Und die Lösung (gleich in eine DB geschrieben (wollte ich sowieso noch realisieren)):
PHP-Code:
$replies $this->twitter->replies();

 foreach (
$replies as $row)
 {
 
$data = array(
 
'created_at' => $row->created_at,
 
'id' => $row->id,
 
'text' => $row->text,
 
'source' => $row->source,
 
'name' => $row->user->name,
 
'profile_image_url' => $row->user->profile_image_url
 
);

 
$this->db->insert('tweets'$data);
 }
 } 
Mit meiner ersten Schleife oben habe ich die Ausgabe ja auf das Array reduzieren können, sollte also mit entsprechenden Anpassungen so klappen.
Ich werds nun mal so angehen und das Ergebnis (hoffentlich heute) nochmal posten.
Sollten noch Hinweise und Ideen kommen nehme ich die super gerne mit.

Bis später.
Norbert

Noch die Quelle:http://www.designateonline.com/discu...ID=5225&page=1

Geändert von Agrippa (18.12.2011 um 00:04 Uhr).
Agrippa ist offline   Mit Zitat antworten
Alt 18.12.2011, 01:52  
Neuer Benutzer
 
Registriert seit: 17.12.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Agrippa befindet sich auf einem aufstrebenden Ast
Standard

Ok es klappt,

PHP-Code:
               foreach ($results as $row)
               {
               
$data = array(
                         
'country'       => $row->{'document-id'}->country,
                         
'doc-number'    => $row->{'document-id'}->{'doc-number'}->_,
                         
'kind'          => $row->{'document-id'}->kind->_,
                         
'family-id'     => $row->{'family-id'}
                         );
                 }
                 
print_r ($data); 
bringt:
PHP-Code:
Array ( [country] => CN [doc-number] => 102068978 [kind] => [family-id] => 44027858 
Jetzt noch in die DB und zur Übung nochmal schön mit sprintf und echo. Uuund da ist da noch das durchloopen!

Geändert von Agrippa (18.12.2011 um 02:02 Uhr).
Agrippa ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Object Array ausgeben Bankai PHP Einsteiger 2 26.11.2011 21:15
[Erledigt] PDF im Browser Streamen PiXeL1337 PHP Einsteiger 22 08.09.2011 16:24
Object of class stdClass could not be converted to string Katinator PHP Einsteiger 11 03.12.2010 13:12
Bestimmte Array-Elemente löschen ArcticMonkey PHP Einsteiger 5 28.11.2010 14:56
[Erledigt] object ausgeben lord_icon PHP Tipps 2010 2 14.04.2010 22:02
Cannot use object of type stdClass marc77 PHP Tipps 2010 2 05.02.2010 15:37
[Erledigt] Mehrdimensionales Array als verschachtelte Liste ausgeben mit foreach kristina PHP Tipps 2009 5 26.08.2009 14:27
[Erledigt] Object + Array + Object ausgeben Roflkid PHP-Fortgeschrittene 3 17.05.2009 17:28
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
[Erledigt] xlm in php-Variablen ch.bielmeier PHP Tipps 2008 6 19.12.2008 14:13
Fragen und Verwendung der SOAP Erweiterung von PHP Tanja PHP-Fortgeschrittene 5 15.09.2008 09:29
SOAP Webservice mit Dokument in der Response phpBone PHP-Fortgeschrittene 9 04.09.2008 23:16
[Erledigt] stdClassObjekt nach String durchsuchen TAZweb PHP Tipps 2008 6 21.07.2008 08:38
Gibt keine Ausgabe aus socke PHP Tipps 2005-2 9 31.08.2005 15:39
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php stdclass object ausgeben, stdclass object ausgeben, php stdclass ausgeben, php soap response, php soap stdclass object, php class stdclass ausgeben, soap response ausgeben php, soap php result ausgeben, php stdclass inhalt ausgeben, stdclass ausgeben, stdclass object in php ausgeben, [object object] ausgeben, stdclass php schleife ausgeben, soap response object result, stdclass object php ausgeben, access soap stdclass response, stdclass object in response, php soap response stdclass, stdclass soapclient php, print_r ohne stdclass object ausgeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum