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

    Fondere 2 array con php4

    Ragazzi qualcuno mi sa dire come si fondono 2 array in php 4? perchè con il 5 tutto ok con array_combine ma con il 4 mi sto scioccando 2 g e non riesco a trovare un metodo...grazie in anticipo!
    Jsoftware.it

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Hai provato a guardare tra i commenti di array_combine e/o eventualmente a scaricare php compat?

    http://pear.php.net/package/PHP_Compat

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Verifica anche "array_merge" se fa al caso tuo

    http://it2.php.net/manual/it/function.array-merge.php

  4. #4
    Penso array_merge non facica per me, questi sono gli array che devo fondere

    $key=array(12, 22, 4, 16, 2);

    $valori=array(cane, gatto, cavallo, pipistrello, pesce);
    Jsoftware.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Allora bisogna chiarire i termini

    Che significa "fondere"?

  6. #6
    Fonderli nel senso che l'array key deve essere impostato come key e l'array valori come il valore delle key ecco che mi servirebbe

    $key=array(12, 22, 4, 16, 2);

    $valori=array(cane, gatto, cavallo, pipistrello, pesce);



    $fusione=array(12=>cane, 22=>gatto, ecc...);
    Jsoftware.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    In tal caso dovrai effettuare una funzione
    Codice PHP:
    <?php
    function myCombine($keys,$values)
    {
        
    $result = array();
        
    reset($keys);
        
    reset($values);
        while(
    $key each($keys))
        {
            
    $value each($values);
            if(
    $value === false)
                
    $result[$key[1]] = "";
            else
                
    $result[$key[1]] = $value[1];
        }
        return 
    $result;
    }
    $key=array(12224162);
    $valori=array("cane""gatto""cavallo""pipistrello""pesce");
    print_r(myCombine($key,$valori));
    // Risultato Array ( [12] => cane [22] => gatto [4] => cavallo [16] => pipistrello [2] => pesce )
    ?>
    oppure, se sei sicuro che gli elementi del primo e del secondo array hanno entrambi chiavi numeriche progressive
    Codice PHP:
    <?php
    function myCombine($keys,$values)
    {
        for(
    $i=0;$i<count($keys);$i++)
        {
            if(!isset(
    $values[$i]))
                
    $result[$keys[$i]] = "";
            else
                
    $result[$keys[$i]] = $values[$i];
        }
        return 
    $result;
    }
    $key=array(12224162);
    $valori=array("cane""gatto""cavallo""pipistrello""pesce");
    print_r(myCombine($key,$valori));
    // Risultato Array ( [12] => cane [22] => gatto [4] => cavallo [16] => pipistrello [2] => pesce )
    ?>

  8. #8
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    ciao,

    li puoi unire manualmente con un ciclo:

    Codice PHP:
    for($i=0$i<count($key); $i++)
    {
        
    $fusione[$key[$i]] = $valori[$i];
    }

    echo 
    '<PRE>'.print_r($fusionetrue).'</PRE>'

  9. #9
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Ma anche così...

    Codice PHP:
    $chiavi = array(12224162);
    $valori = array('cane''gatto''cavallo''pipistrello''pesce');

    foreach(
    $chiavi as $i => $v) {
      
    $array_combine[$v] = $valori[$i];
    }

    print_r($array_combine); 

  10. #10
    RAGAZZIIIIIIIII GRAZIE 1000 TUTTO FATTO!!!
    Jsoftware.it

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.