2017-07-13 10 views
0

私はサーバの新しい行にIPのリストを含むテストファイルを持っています。私はphpseclibを使用してファイルを取得しています。 。私は、各ipを別々に配列に格納したい。文字列中のIPのリストを配列に変換する

私はすでに

$arr = print_r(explode(" ",$str)) 

を使用しているが、それは[0] $の編曲にすべてのデータを推進しています。

Array ([0] => 10.54.58.1 10.54.58.27 10.54.58.28 10.54.58.31 10.54.58.32 10.54.58.33 10.54.58.36 10.54.58.45 10.54.58.60 10.54.58.67 10.54.58.80 10.54.58.86 10.54.58.89 10.54.58.97 10.54.58.98 10.54.58.99) 

私は文字列に明示的にコピーして格納してから、爆発的に使用してみましたが、うまくいきました。

Array ([0] => 10.54.58.1 [1] => 10.54.58.27 [2] => 10.54.58.28 [3] => 10.54.58.31 [4] => 10.54.58.32 [5] => 10.54.58.33 [6] => 10.54.58.36 [7] => 10.54.58.45 [8] => 10.54.58.60 [9] => 10.54.58.67 [10] => 10.54.58.80 [11] => 10.54.58.86 [12] => 10.54.58.89 [13] => 10.54.58.97 [14] => 10.54.58.98 [15] => 10.54.58.99) 

誰もが問題が何であるかを教えてもらえます、私もあなたが間違っているがある私は

+1

元のデータはどのように正確に見えますか? – jeroen

+0

は本当に1つの空白のIPアドレスの間の文字ですか?タブや改行ではない? –

答えて

2

を行い、これは推測の仕事ですが、それはそれは行ごとにIPだということだろうか?その場合は、改行\nで爆発する必要があります。

あなたはecho "A\nB\nC";ものは改行あるスペースA B Cのように表示されますが、れます。ページのソースを表示する場合は、あなたが見るそれらが列挙されます:

A 
B 
C 

そのため、あなたがそれらの上で爆発する必要があります、安全側に

$arr = print_r(explode("\n",$str)); 
+0

本当にありがとうございました( "\ n"、$ str) –

0

を得ていた最後の余分なスペース削除しようとした:

$arr = print_r(explode(" ",$str))

print_r()をとして機能する。PHP.net says

Pr変数に関する人間が読むことのできる情報です。

変数はそのままではなく、情報を必要とします。単にあなたの元の文字列がなければ

$arr = explode(" ", $str);

+0

私は彼がprint_rを使ってウェザーを検証していると思っていますし、値が期待どおりではないので、デバッグしていると思います – Martijn

-1
$ips = $dataArray[0]; 

$ipArray = explode(" ",$ips); 

インデックスが存在するかどうかを確認しますまたはarray_key_exists(0,$dataArray)を使用しないでください。

関連する問題