2014-04-30 33 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