Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755

    Strano comportamento array


    ho una funzione che mi ritorna un array contenente i nomi dei files di una directory. vorrei mettere tutti gli array risultanti in uno, così da fare un ciclo solo sull'array risultante.
    Il codice è questo
    Codice PHP:

            $dirForFind
    ="../../lock";
            
    //print "<hr>".realpath($dirForFind)."<hr>";
            /*if($arFiles=findfile($dirForFind,"","",1,1)){
                print implode("
    \n",$arFiles);
            }*/

            
    $arLock=findfile($dirForFind,"","lock",1,1);
            print 
    "<hr>Lock:".count($arLock)."<hr>";
            print 
    implode("
    \n"
    ,$arLock);

            
    $dirForFind="../../opz";
            
    $arOpz=findfile($dirForFind,"","opz",1,1);
            print 
    "<hr>Opz:".count($arOpz)."<hr>";
            print 
    implode("
    \n"
    ,$arOpz);
            
    $arFinal=$arLock+$arOpz;

            print 
    "<hr>Final:".count($arFinal)."<hr>";
            print 
    implode("
    \n"
    ,$arFinal); 
    Il comportamento strano è:sparisce un file!!! Questo è il risultato
    Lock:1
    ../../lock/simo4.she@chkiomod.lock

    Opz:3
    ../../opz/simo3.she@chkiomod.opz
    ../../opz/simo2.she@chkiomod.opz
    ../../opz/666.she@chkiomod.opz

    Final:3
    ../../lock/simo4.she@chkiomod.lock
    ../../opz/simo2.she@chkiomod.opz
    ../../opz/666.she@chkiomod.opz
    Manca uno degli opz! Eppure da qualche parte avevo letto che era possibile fare la somma degli array :berto:
    C'è un altro modo? :master:
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  2. #2
    Studiati il comportamento di questo codice:
    Codice PHP:
    <pre>
    <?php 
    $string1 
    '1|2';
    $array1 explode('|'$string1);

    $string2 'A|B|C';
    $array2 explode('|'$string2);

    $array3 $array1 $array2;
    $array4 array_merge($array1$array2);

    print(
    implode("\r\n"$array3));
    print(
    "\r\n\r\n");
    print(
    implode("\r\n"$array4));
    ?>
    </pre>

  3. #3
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Che ne dici invece di usare la funzione array_merge di PHP che "mette insieme" due array?

    $arFinal = array_merge($arLock, $arOpz);

    http://it2.php.net/array-merge

  4. #4
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755


    d'accordo

    a mia discolpa cito questo
    Se si vogliono preservare gli array e li si vuole solo concatenare, usare l'operatore +:
    Codice PHP:
    <?php
    $array1 
    = array();
    $array2 = array(=> "dati");
    $result $array1 $array2;
    ?>
    giusto a metà di
    http://it2.php.net/array-merge

    grazzzzzz
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  5. #5
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Ti stai fregando da solo...

    Nel tuo caso in un array hai la chiave 0, nell'altro hai 0, 1, 2...

    L'array risultante cosa fa del doppione della chiave 0?? Ne sostituisce una (o ignora l'altra a seconda)...

    Comunque la tua soluzione è array_merge...

  6. #6
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    Originariamente inviato da hcka
    Ti stai fregando da solo...

    Nel tuo caso in un array hai la chiave 0, nell'altro hai 0, 1, 2...

    L'array risultante cosa fa del doppione della chiave 0?? Ne sostituisce una (o ignora l'altra a seconda)...

    Comunque la tua soluzione è array_merge...
    dimentico sempre le chiavi numeriche e lascio sempre che se le gestisca da sè
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

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.