Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: accorpare for each

  1. #1

    accorpare for each

    Salve, ho due for each scritti così

    codice:
    foreach($html->find('h3.lvtitle') as $b)
        echo $b->innertext;
    foreach($html->find('div.hotness-signal') as $e)
        echo $e->plaintext;
    e quando li fado ad impaginare mi scompiglia la tabella perchè il secondo parte dopo che è finito il primo

    sarebbe possibile accorparli in unico ciclo in modo da avere
    $b-$e
    $b-$e
    ....

    grazie mille
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Non puoi usare una variabile e poi al termine dei cicli usare un echo $variabile?
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Quote Originariamente inviata da linoma Visualizza il messaggio
    Non puoi usare una variabile e poi al termine dei cicli usare un echo $variabile?
    ho provato ma mi restituisce un solo valore
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    in che senso? Puoi postare il tuo codice?
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Quote Originariamente inviata da linoma Visualizza il messaggio
    in che senso? Puoi postare il tuo codice?

    codice:
    foreach($html->find('h3.lvtitle') as $b){
        $titolo=$b->innertext;
    	} 
    foreach($html->find('div.hotness-signal') as $e){
        $valore=$e->plaintext;
    	} 
    	echo $titolo.'-'.$valore;
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Intanto apporta le modifiche come indicato

    codice:
    $titolo=$valore='';
    foreach($html->find('h3.lvtitle') as $b){
        $titolo.=$b->innertext;
    } 
    foreach($html->find('div.hotness-signal') as $e){
        $valore.=$e->plaintext;
    } 
    echo $titolo.'-'.$valore;
    e dovrebbe andare meglio
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    Quote Originariamente inviata da linoma Visualizza il messaggio
    Intanto apporta le modifiche come indicato

    codice:
    $titolo=$valore='';
    foreach($html->find('h3.lvtitle') as $b){
        $titolo.=$b->innertext;
    } 
    foreach($html->find('div.hotness-signal') as $e){
        $valore.=$e->plaintext;
    } 
    echo $titolo.'-'.$valore;
    e dovrebbe andare meglio

    si ma è lo stesso risultato del mio primo codice... printa tutto il primo ciclo e poi tutto il secondo...
    a me serve che printa la lettura del primo e la lettura del secondo e poi passa al rigo dopo
    così come mi indichi fa tutti i primi e poi tutti i secondi... (grazie cmq per il tempo che mi stai dedicando)
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  8. #8
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    se nn ti spieghi bene, ci si passano mesi non tempo, bhe abbi pazienza. Prova cn un array allora tipo questo codice di esempio

    codice:
    $rows = array()
    $i=0;
    foreach($html->find('h3.lvtitle') as $b){
        $rows[$i++][] = $b
    } 
    $i=0;
    foreach($html->find('div.hotness-signal') as $e){
        $rows[$i++][] = $e;
    }
    
    foreach($rows as $row){
        echo $row[0];
        if(array_key_exist(1,$row))
            echo $row[1];
    }
    Per gli Spartani e Sparta usa spartan Il mio github

  9. #9
    non va.. restituisce solo il primo titolo

    ma una soluzione alternativa l'ho trovata


    codice:
    // Find all article blocks
    foreach($html->find('li.sresult') as $article) {
        $item['titolo'] = $article->find('h3.lvtitle', 0)->plaintext;
        $item['venduti'] = $article->find('div.hotness-signal', 0)->plaintext;
        $articles[] = $item;
    }
    
    
    print_r($articles);



    ora pero devo recuperate i valori dall'array che restituisce questo correttamente


    codice:
    Array ( [0] => Array ( [titolo] => TITOLO 1 [venduti] => 135 ) [1] => Array ( [titolo] => TITOLO 2 [venduti] => 3 ) [2] => Array ( [titolo] => TITOLO 3 [venduti] => 2514 ) [3] => Array ( [titolo] => TITOLO 4 [venduti] => 3))


    e devo capire come fare... ma per ora almeno restituisce i valori sulla stessa linea e corretti...
    suggerimenti sul print dei singoli valori dell'array?
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  10. #10
    fuori dal foreach

    echo $item[0] stamperà TITOLO 1 135
    echo $item[0][titolo] stamperà TITOLO 1
    echo $item[0][venduti] stamperà 135
    e così via...
    dovrebbe essere cosi
    Ultima modifica di supersqualo; 30-10-2017 a 13:00

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 © 2025 vBulletin Solutions, Inc. All rights reserved.