2010-03-29 5 views
0

comment voulez-vous tourner ce tableau:un tableau PHP simple Manipulation

array(
     0 => Title1, 
     1 => Title2, 
     3 => Address1, 
     4 => Address2, 
    ) 

to this array: 

array (
    0 => array(
    'title' => 'Title1' 
    'address' =>'Address1' 
    ), 
    1 => array(
    'title' => 'Title2', 
    'address' => 'Address2' 
    ) 
); 

quand vous d'abord donné

$_POST['title'] = array('Title1', 'Title2'); 
$_POST['address'] = array('Address1', 'Address2'); 

qui lors de la fusion vous donnerait le premier tableau que j'ai donné

J'ai été capable de résoudre ceci via une fonction Arr: Rotate de haut niveau dans le framework Kohana, avec la fonction Arr :: merge mais je n'arrive pas à comprendre l'implémentation. S'il vous plaît aider

+1

Vous avez dit que vous l'avez déjà résolu. Regardez le code de Kohana. Doh. –

Répondre

4

Qu'en est-il quelque chose comme ceci:

$_POST['title'] = array('Title1', 'Title2'); 
$_POST['address'] = array('Address1', 'Address2'); 

$result = array(); 
$length = count($_POST['title']); 

for ($i=0 ; $i<$length ; $i++) { 
    $result[$i]['title'] = $_POST['title'][$i]; 
    $result[$i]['address'] = $_POST['address'][$i]; 
} 

var_dump($result); 

Ce qui vous donne le résultat suivant:

array 
    0 => 
    array 
     'title' => string 'Title1' (length=6) 
     'address' => string 'Address1' (length=8) 
    1 => 
    array 
     'title' => string 'Title2' (length=6) 
     'address' => string 'Address2' (length=8) 

-à-dire une boucle sur vous d'abord donné à la fois les tableaux title et address, et pousser leurs contenu dans un nouveau tableau - sans les fusionner ou quoi que ce soit.