2014-04-30 52 views
0

我有一個包含由逗號和空間分隔值的兩個字符串。PHP:爆炸兩個字符串並一起放在排序後的數組

實施例:字符串1 =法國,德國,意大利;字符串2 =比利時,荷蘭 我要的是在PHP中創建一個數組,其中包含來自兩個字符串的所有值和按字母順序排序。 因此,在這種情況下,輸出應符合下列值和秩序的數組: 比利時,法國,德國,意大利,荷蘭

我嘗試以下但這並不工作。任何人都可以告訴我如何實現這一目標?我看到我需要首先分解單個字符串,否則它似乎將一個字符串中的所有值視爲一個值,然後排序不起作用。

$countries = array(); 
$input1 = explode(", ", "France", "Germany", "Italy"); //hard-coded for testing 
$input2 = explode(", ", "Belgium", "Netherlands"); //hard-coded for testing 
foreach($input1 as $key => $val) { 
    array_push($countries, $input1); 
} 
foreach($input2 as $key => $val) { 
    array_push($countries, $input2); 
} 
sort($countries); 

非常感謝任何幫助,邁克。

+0

'爆炸( 「」, 「法國」 ,「德國」,「意大利」);'<---這是什麼?你有沒有檢查http://php.net/explode? – zerkms

+1

'$國家= array_merge(爆炸( 「 」 「法國,德國,意大利」),爆炸(「,」, 「比利時,荷蘭」));排序($國家);' –

回答

1
$input1 = explode(", ", "France, Germany, Italy"); 
$input2 = explode(", ", "Belgium, Netherlands"); 
$countries = array_merge($input1, input2); 
var_dump(sort($countries)); 

檢查字符串=>"France","Germany","Italy" != "France, Germany, Italy"

+0

非常感謝 - 這工作。字符串在帖子中只是一個錯字。 – Mike

1
foreach ($input2 as $input){ 
    $countries[]=$input; 
} 

sort($countries); 
1

使用array_merge

$input1 = explode(",", "France,Germany,Italy"); //hard-coded for testing 
$input2 = explode(",", "Belgium,Netherlands"); //hard-coded for testing 

$countries = array_merge($input1, $input2) 
sort($countries); 

或者加入1串

$input1 = "France,Germany,Italy"; 
$input2 = "Belgium,Netherlands"; 

$countries = explode(",", $input1 . "," . $input2); 
sort($countries); 
+0

感謝您的支持! – Mike