SOに実際に投稿することに頼っています。 また、これは何度も尋ねられている場合は、私はiveがここでそれらのほとんどを読んでいると思うが、ダイスはまだないと思う。preg_match_allからの重複した配列値の問題
私は生成されたログファイルcontinaing textを持っています。ログファイル内の行を抽出したいのですが: {22:30:47}システム: "Obambivas" StarPos:( - 59.938,7.375,56.813)ly Body :13 RelPos:( - 0.529636、-0.130899,0.838064)km NormalFlight
これまでのところ、preg_match_all経由でマッチを取得するためには、 しかし、私は実際には各システムを必要とします:ログはいくつかのexacly同じかもしれません。 "
それは何かと同じ結果をretrunsないどちらかとアイブ氏はイムが間違ってそれを使用してイムはかなり確かarray_uniqueを使用しようとしましたが、つまり10+は、各試合のために一致したので、私は試合からちょうどそれぞれの固有の一致を必要とする
を見つけましたログファイルにあります。事前に
これまでのところ(ごめんその厄介であれば)私のコード そして感謝
if (is_dir($log) && is_readable($log)) {
if (!$files = scandir($log, SCANDIR_SORT_DESCENDING)) {
}
$newest_file = $files[0];
if (!$line = file($log . "/" . $newest_file)) {
} else {
foreach ($line as $line_num => $line) {
$pos = strpos($line, 'System:"');
$pos2 = strrpos($line, "ProvingGround");
if ($pos !== false && $pos2 === false) {
preg_match_all("/\System:\"(.*?)\"/", $line, $matches);
$cssystemname = $matches[1][0];
$curSys["name"] = $cssystemname;
preg_match_all("/\StarPos:\((.*?)\)/", $line, $matches2);
$curSys["coordinates"] = $matches2[1][0];
$coord_parts = explode(",", $curSys["coordinates"]);
$curSys["x"] = $coord_parts[0];
$curSys["y"] = $coord_parts[1];
$curSys["z"] = $coord_parts[2];
echo $curSys["name"].' | Coords: '.$curSys["x"].','.$curSys["y"].','.$curSys["z"].'<br />';
}
}
}
}
を避けるために、$ハッシュの配列を追加しましたあなたの入力と期待される出力についても言及してください。 –
ありがとう、私は将来、申し訳ありません。 –