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

    Unire i valori di questi 2 array

    ciao a tutti, è un bel po' che non scrivevo qui su PHP.

    vorrei sapere se c'è una funzione o un modo veloce per unire questi 2 array ed ottenere il risultato sotto:
    codice:
        [1] => Array
            (
                [0] => 
                [1] => 
                [2] => 
                [3] => 
                [4] => e
                [5] => f
            )
    
        [2] => Array
            (
                [0] => a
                [1] => b
                [2] => c
                [3] => d
                [4] => 
                [5] => 
            )
    
    Risultato (sono tenuti solo i valori pieni, gli array hanno sempre lo stesso numero di elementi)
    
        [] => Array
            (
                [0] => a
                [1] => b
                [2] => c
                [3] => d
                [4] => e
                [5] => f
            )
    grazie in anticipo!

    ciao,
    jack.

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Codice PHP:
    /*$arrayIniziale... con chiavi [1]  [2]....

        [1] => Array
            (
                [0] => 
                [1] => 
                [2] => 
                [3] => 
                [4] => e
                [5] => f
            )

        [2] => Array
            (
                [0] => a
                [1] => b
                [2] => c
                [3] => d
                [4] => 
                [5] => 
            )
            
            */
        
    $newArray = array();    
       foreach(
    $arrayIniziale as $key=>$val){
           foreach(
    $arrayIniziale[$key] as $key2=>$val2){
               if(
    $val2!=''){
               
    $newArray[]=$val2;        
               }
           } 
    }
    La vita e' uno switch();

  3. #3
    grazie, per ora ho risolto molto banalmente così:

    Codice PHP:
    function array_overlay($r1$r2)
    {
        foreach(
    $r1 as $k => $v) if (!$v$r1[$k] = $r2[$k];
        
        return 
    $r1;

    Non c'è mica una funzione di PHP per fare questo, vero? :master:

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    EDIT
    Codice PHP:
    $ar1 = array('a','b','c','d''''');
    $ar2 = array('','','e','f''g');

    print 
    '<pre>';print_r($ar1);print '</pre>';   
    print 
    '<pre>';print_r($ar2);print '</pre>';   



    $x array_merge($ar1$ar2);

    $new = array();

    foreach (
    $x as $val){
        if(
    $val!='')
            
    $new[]=$val;
    }



    print 
    '<pre>';print_r($new);print '</pre>'
    La vita e' uno switch();

  5. #5
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    oppure se ho capito la tua esigenza...

    Codice PHP:
    $ar1 = array('a','b','c','''');
    $ar2 = array('','','','d''e');

    function 
    prova($ar1$ar2$limit_ciclo)
    {
        
    $new = array();
        for(
    $i=0;$i<=$limit_ciclo;$i++){
            (
    $ar1[$i]!='') ? ($new[$i]=$ar1[$i]) : ($new[$i]=$ar2[$i]);
        }
        return 
    $new;    
    }
    $z prova($ar1$ar24);

    print 
    '<pre>';print_r($z);print '</pre>'
    La vita e' uno switch();

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