2013-10-21 60 views
0

有沒有辦法使用另一個數組中的鍵將字符串分解爲assoc數組? 例如: 我有一個數組用另一個數組中的鍵將字符串分解爲php數組;

$array = array('firstname' => 'john', 'lastname' => 'smith'); 

現在我有另一塊像字符串:

$fullname = 'Paul Phoenix'; 

所以現在我想爆炸全名成類似於$陣列使用相同的按鍵

陣列
$array2 = array('firstname' => 'paul', 'lastname' => 'phoenix'); 

回答

1

使用如下

<?php 
$a = array('firstname', 'lastname'); 

$fullname = 'Paul Phoenix'; 

$b = explode(" ",$fullname); 

$c = array_combine($a, $b); 

print_r($c); 

?> 

希望這將確保爲您工作。

+0

很好的回答和+1使其可讀;) –

0
$fullname = 'Paul Phoenix'; 

$name = array(); 
list($name['firstname'], $name['lastname']) = explode(' ', $fullname); 

輸出:

array(2) { 
    ["lastname"]=> 
    string(7) "Phoenix" 
    ["firstname"]=> 
    string(4) "Paul" 
} 

更新:

$array = array('firstname' => 'john', 'lastname' => 'smith'); 
$fullname = 'Paul Phoenix'; 

$array2 = array_combine(array_keys($array), explode(' ', $fullname)); 

輸出:

array(2) { 
    ["lastname"]=> 
    string(7) "Phoenix" 
    ["firstname"]=> 
    string(4) "Paul" 
} 
+0

你硬編碼的數組,我需要把它從第1個數組itseld的鑰匙。如果在第一個數組中有更多的鍵,則應該在第二個數組中有完全相同的鍵 – user2707590

+0

查看更新的答案 – JimL

+0

很好,謝謝:) – user2707590

1

使用array_keys()$array拿到鑰匙,爆炸$fullname對T他的空間,然後用array_combine()將兩者結合起來:

$array2 = array_combine(array_keys($array), explode(' ', $fullname)); 
相關問題