Visualizzazione dei risultati da 1 a 10 su 11

Discussione: accorpare for each

Hybrid View

  1. #1
    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

  2. #2
    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)

  3. #3
    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

  4. #4
    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)

  5. #5
    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

  6. #6
    Grazie! funziona!

    Quote Originariamente inviata da supersqualo Visualizza il messaggio
    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
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

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.