Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Contare con foreach

  1. #1

    Contare con foreach

    Salve a tutti, premetto che non sono esperta e sto cercando di capire dove sbaglio

    ricevo una risposta da web service tramite nusoap e provo a contare i nodi <cliente> cosi:

    Codice PHP:
    $i 0;
    foreach(
    $result['RicercaClientiResult']['clienti']['cliente']  as $key => $value) {
    $i++; 
    }

    echo 
    $i

    quindi da questo risultato il conteggio e la stampa a video del numero è 2


    Codice PHP:

    <clienti>  
      <
    cliente>    
     <
    codicecliente>3031810</codicecliente>    
    <
    cognome>Rossi</cognome>    
    <
    nome>Mario</nome>
    <
    anno>2014</anno>  
    </
    cliente>  

    <
    cliente>    
    <
    codicecliente>3458121</codicecliente>    
    <
    cognome>Verdi</cognome>    
    <
    nome>Giuseppe</nome
    <
    anno>2014</anno>  
    </
    cliente>
    <
    clienti
    ma da questo il valore della variabile $i è 5, mentre io mi aspetto 1 .... dove sto sbagliando?

    Codice PHP:

    <clienti>  
    <
    cliente>    
    <
    codicecliente>3031810</codicecliente>    
    <
    cognome>Rossi</cognome>    
    <
    nome>Mario</nome>
    <
    anno>2014</anno>  
    </
    cliente>
    <
    clienti
    Grazie a tutti

  2. #2
    Scusa, ma non potresti fare semplicemente:

    Codice PHP:
    $i count($result['RicercaClientiResult']['clienti']['cliente']); 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Buongiorno e grazie per la risposta. Ho provato anche così, ma il risultato che ottengo è sempre lo stesso...

  4. #4
    Quote Originariamente inviata da ChiaraMi Visualizza il messaggio
    Buongiorno e grazie per la risposta. Ho provato anche così, ma il risultato che ottengo è sempre lo stesso...
    In ogni caso non ha senso ciclare un array per contarne i valori quando si ha a disposizione la funzione count()
    Per quanto riguarda il tuo problema è evidente che in $result hai 5 occorrenze di nodi 'cliente'.
    Prova a inserire nel codice:

    Codice PHP:
    ...
    print_r($result);
    ... 
    e vedi cosa ti visualizza.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.