2017-07-27 18 views
-1

私の文字列はこれです:私はこのような配列にこの文字列を分割したい複数行の文字列から配列を生成するにはどうすればよいですか?

$brazil = "Afonso Cláudio 
Água Doce do Norte 
Águia Branca"; 

:これを行うには

Brazil (
    [0] => "Afonso Cláudio" 
    [1] => "Água Doce do Norte" 
    [2] => "Águia Branca" 
) 
+0

これを行う言語を指定してタグを付けることができます。 – Ben

+1

http://php.net/explode –

+1

http://php.net/manual/en/function.preg-split PHP – kmoser

答えて

0

、あなたは、単に複数の行で、あなたの文字列を分割する必要があります。これを行うには、文字列を特定の文字で区切る方法explode()を使用する必要があります。

あなたの場合、新しい行で文字列を分割したいとします。これを行うには、あなたはこれを必要とする:

$result = explode("\n", $brazil) 

\nは、新しい行を表すescape characterです。

方法は、この配列を返します。

array(3) { 
    [0]=> 
    string(16) "Afonso Cláudio 
" 
    [1]=> 
    string(20) "Água Doce do Norte 
" 
    [2]=> 
    string(13) "Águia Branca" 
} 

注:ザ・唯一の残りの問題は、あなたはまだ、すべての文字列の最後に改行文字を持っているということです。配列の各文字列から最後の文字を削除することで解決できます。これを行う方法の詳細については、this questionを参照してください。

+0

そして今、これらの文字列をどうやって引用しますか? 例: echo xx [2]; - >> "ÁguiaBranca" – w4g

+0

@ w4g私の答えを変更して '$ result'変数を追加しました。文字列を引用するには、例えば '$ result [2]'を使用します。 – Maxime

0

改行文字でexplode()する可能性があるので、この解決方法はプラットフォームによって使用される文字に依存するため、有用性には限りがあります。行は、改行( "\ f")、キャリッジリターン( "\ r")、改行( "\ n")のいずれかまたは次の文字の組み合わせで終了することがあります。

<?php 

$brazil = "Afonso Cláudio 
Água Doce do Norte 
Águia Branca"; 

$arr = preg_split("/[\f\r\n]+/",$brazil); 
var_dump($arr); 

あなたはこの正規表現使用して同じ結果を達成することが

live codeを参照してください:次のように次のコードは、それに応じて$ブラジルに含まれる文字列値を分割"/\R/"を。 hereを参照してください。

詳細はpreg_split()を参照してください。

(爆発使用に戻って

)、代わりに改行文字をハードコーディングするの、次のように、組み込みの定数PHP_EOLを使用します。

<?php 

$brazil = "Afonso Cláudio 
Água Doce do Norte 
Águia Branca"; 

$arr = explode(PHP_EOL,$brazil); 
var_dump($arr); 

demoを参照してください。

PHP_EOLは、OSが行を終了するために使用する任意の文字に一致するように設計された組み込み定数です。

有用なリソース:Escape Sequences、、Why You Should use PHP_EOL

関連する問題