2010-03-29 95 views
0

你將如何把這個數組:一個簡單的PHP數組操作

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' 
    ) 
); 

當你最初給

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

,當合並會給你第一個數組我給

我能夠通過一個高層次的Arr:Rotate函數和Arr :: merge函數來解決這個問題,但是我不太明白這個實現。請幫助

+1

你說你已經解決了。看看Kohana的代碼。衛生署。 – 2010-03-29 04:43:26

回答

4

什麼是這樣的:

$_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); 

它給你以下結果:

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) 

即循環您最初被給予兩種titleaddress陣列上,並把他們的內容轉換爲新的數組 - 不合並它們或任何東西。