Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    inserire elemento array e spostare successivi

    Ciao, come da titolo avrei bisogno di un sistema per inserire uno o più elementi in un punto preciso di un array e spostare avanti i successivi di n elementi inseriti.
    l'array è bidimensionale.

    ho cercato e trovato un sistema che non funzia perchè crea un ciclo infinito.

    qualcuno mi aiuta?

  2. #2
    risolto.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    109
    Beh non sarebbe male se metti la soluzione, magari a qualcuno torna utile

  4. #4
    probabilmente ci sono metodi più eleganti, però funzia...

    $test=array('1','2','3','4');
    $pos=3;//il primo elemento nuovo sarà inserito nell'array a questo indice
    $lines=2;//inserirò questo n.ro di nuovi elementi
    for ($i=count($test)+$lines-1;$i>=$pos;$i--){
    //echo $i;
    $test[$i]=$test[$i-$lines];
    }
    $test[$pos]='nuovo';
    $test[$pos+1]='nuovo2';
    for ($i=0;$i<count($test);$i++){
    echo $test[$i];
    echo ('
    ');
    }

    vi piace o c'è un modo migliore?


  5. #5
    La tua soluzione è molto valida

    Ho provato a fare in modo diverso scambiando solo gli elementi nelle posizioni in cui dovrebbero stare i nuovi elementi ma è un pò disastroso perchè funziona solo in certe situazioni

    Comunque se ti serve una soluzione ancora più semplice: eccola qui

    Codice PHP:
    function array_innerPad($input,$pos,$newElementArr)
    {    
        
    $first=array_slice($input0$pos);
        
    $second=array_slice($input$pos);

        return 
    array_merge($first,$newElementArr,$second);

    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

  6. #6
    grazie


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.