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

    array combine tra array con numero diverso di elementi

    avrei bisogno di combinare questi 2 array

    Array intestazioni
    (
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
    [6] => g
    [7] => h
    )

    Array valori
    (
    [0] => 1
    [1] => 60115
    [3] => prova
    [4] => 09/02/2012
    [5] => 13/02/2012
    )

    array_combine non funziona, giustamente, esiste qualche funzione natia di php per fare un combine lo stesso? (io ho guardato il manuale in linea e mi pare di no)

    oppure una funzione che "normalizzi" il secondo array in modo poi da utilizzare senza problemi la funzione array_combine?

    grazie anticipatamente per le eventuali risposte e buona giornata a tutti

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    non so se esista ma comunque scriverla non è complicato:

    Codice PHP:
    function combinaArray($arrInt,$arrVal){
        
    $arrReturn = array();

        foreach(
    $arrInt AS $key => $val){
            
    $arrReturn [$val] = @$arrVal[$key];
        }

        return 
    $arrReturn ;

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Originariamente inviato da las
    non so se esista ma comunque scriverla non è complicato:

    Codice PHP:
    function combinaArray($arrInt,$arrVal){
        
    $arrReturn = array();

        foreach(
    $arrInt AS $key => $val){
            
    $arrReturn [$val] = @$arrVal[$key];
        }

        return 
    $arrReturn ;

    anzitutto grazie a tutti per le risposte

    visto che pare non ci sia me la sono scritta, come giustamente mi è stato suggerito

    non è un gran che ma la posto lo stesso per correttezza:


    Codice PHP:

    /// normalizza array con numero elementi diversi per fare combine (solo indici numerici)///
    function normalizza_array($array_iniziale,$n_elementi,$primo_indice){

    for (
    $j $primo_indice$j <= $n_elementi$j++) {

    if (
    array_key_exists($j$array_iniziale)) {
        
    $array_iniziale[$j];
    }
      else
      {
      
    $array_iniziale[$j]="";
      }

    }

    ksort($array_iniziale);
    reset($array_iniziale);

    return 
    $array_iniziale;


    buona giornata a tutti

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.