Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [php] array e stringhe

  1. #1

    [php] array e stringhe

    Ciao a tutti! allora io avrei un problemino ho fatto un ciclo che verificate certe condizioni dovrebbe passare il valore di un elemento di un array (che è una stringa di testo) ad un elemento di un altro array:

    for ($i=0; $i<=$nuss; $i++) {
    if ($onn[$i]==0) {
    $un[$n_un]=$uss[$i];
    $n_un=$n_un+1;
    };
    };

    Il problema è che nel secondo array ( $un[$n_un] ) viene scritto solo il primo carattere della stringa contenuta nell'elemento del primo array ( $uss[$i] ).
    Infatti se modifico il ciclo in questo modo:

    for ($i=0; $i<=$nuss; $i++) {
    if ($onn[$i])==0) {
    echo $uss[$i];
    $un[$n_un]=$uss[$i];
    echo($un[$n_un]);
    $n_un=$n_un+1;
    };
    };

    l'output a video è l'intera stringa nel primo caso e solo il primo carattere nel secondo caso.

    Come mai??? qualcuno ha idde sul perchè e magari mi può suggerire un modo per passare l'intera stringa?

    Ringrazio tutti in anticipo e vi saluto.

  2. #2
    Devo essere sincero, non ci ho capito niente. Te l'ho sistemato così:

    codice:
    $uss = array("ciao gente", "come stai", "salut");
    for ($i=0; $i<count($uss); $i++) {
    	if ($onn[$i]==0) {
    		$un[$i]=$uss[$i];
    	}
    }
    print_r($uss);
    echo "<hr />";
    print_r($un);
    Primo, non capisco perchè usi due variabili contatore uguali.
    Poi, cosa significa
    l'output a video è l'intera stringa nel primo caso e solo il primo carattere nel secondo caso.
    ???
    "Il problema delle citazioni su Internet è verificarne l'autenticità." (Winston Churchill)

  3. #3
    nono allora non ho espresso bene il problema in pratica nel mio ciclo l'array $uss è fatto da tante stringhe e quando vado a fare l'operazione $un[$n_un]=$uss[$i] mi succede che l'elemento $un[$n_un] è solo il primo carattere della stringa che c'è in $uss[$i].
    per fare un esempio se $uss[0] vale ciao allora $un[0] dovrebbe valermi ciao anche lui invece mi vale c
    spero ora di essere stato piu chiaro, scusate la confusione di prima e anche quella di adesso

  4. #4
    tra l'altro ho appena cambiato il codice e ci ho messo un bello swicth ora è cosi:

    Codice PHP:
      for ($i=0$i<=$nuss$i++) {
       switch (
    $onn[$i]) {
        case 
    2:
         
    $ua[$n_ua]=$uss[$i];
         
    $n_ua=$n_ua+1;
         break;
        case 
    1
         
    $um[$n_um]=$uss[$i];
         
    $n_um=$n_um+1
         break;
        case 
    0
         
    $un[$n_un]=$uss[$i];
         
    $n_un=$n_un+1;
         break; 
       }; 

    e mi sono accorto che nel caso $onn[$i] valga 2 tutto funziona alla perfezione il problema si presenta solo negli altri due casi....la cosa mi lascia alquanto perplesso visto che le istruzioni sono esattamente identiche vi prego aiuto

  5. #5
    niente ragazzi errore mio mi sn accorto che non avevo chiuso il ciclo li' ma 3 righe + sotto e quindi mi dava problemi questa cosa ...tutto sistemato.
    Scusate il disturbo e grazie a robinrails x l'aiuto!!
    CiauzZ

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.