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

    [Risolto]convertire array unidimensionale a multidimensionale

    Salve a tutti,
    Ho fatto qualche ricerca sul forum e sulla rete, ma non sono riuscito a trovare nulla, sperando che qualcuno mi possa suggerire una soluzione, vi espongo il mio problema, che forse è banale, ma non so se per stanchezza o mera ignoranza non riesco a venir a capo.

    Ho questo insieme:

    codice:
    Array ( [0] => 85838226 [1] => a [2] => 51264653 [3] => a [4] => 22809869 [5] => b)
    Vorrei che diventasse qualcosa come:
    [CODE]Array (
    Array ( [stat] => a [code] => 85838226)
    Array ( [stat] => a [code] => 51264653)
    Array ( [stat] => b
    codice:
     => 22809869)
    )
    Un'ultima cosa, ho cercato in vari modo di ciclare con foreach ma mi saltava sempre il primo item [0], se qualcuno potesse aiutarmi.

    Soluzione:
    codice:
    $test = Array ( [0] => 85838226 [1] => a [2] => 51264653 [3] => a [4] => 22809869 [5] => b)
    function array_2d($array, $col_count=2){
    	$result = false;
    	if(!empty($array) && is_array($array)){
    		$row_count = ceil( count($array) / $col_count);
    		$pointer = 0;
    		for($row=0; $row < $row_count; $row++) {
    			for($col=0; $col < $col_count; ++$col){
    				if(isset($array[$pointer])) {
    					$result[$row][$col] = $array[$pointer];
    					$pointer++;
    				}
    			}
    		}
    	}
    	return $result;
    }
    if(is_array($test)){
    $risolto = array_2d($test, 2);
    echo '<pre>'.print_r($risolto, 1).'</pre>';
    Poi con array_search riesco a trovare il valore che mi serve.

  2. #2
    Scusate, solo per dire che ho ottenuto lo stesso risultato con la funzione nativa "array_chunk()" che seziona l'array in molti pezzi, divisi per numero di elementi, nel mio caso due e lo impostata cosi:
    codice:
    $output_array = array_chunk($test,2);
    print_r($output_array );
    Dopodiché, usato sempre "array_search" per cercare il valori che mi servivano.
    Spero sia utile ai posteri.

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.