2011-11-14 15 views
0

私はPHPで擦ったファイルを持っています。それは私がそれを行うことができますどのように単語「ジョン」 を3行3列を持って、私がやろうとしていますどのようにこれらの値値が存在する場合はテーブル行を表示

John - 35000 - OL 
Adam - 4000 - AF 
John - 5000 - XS 

を持っている(複数可)のみを含む行(複数可)を示すことですか?

+0

あなたの出力に関するいくつかのPHPコードを投稿できますか? - 値をトリミングし、 "John"(大文字小文字を区別する)か、preg_match'を使用して同等かどうかを確認することができます – Smamatti

+0

ここに[link](http://pastebin.com/fHcagkP6) – HiddenChampion

答えて

2
foreach($rows as $row){ 
    if(strpos('John') !== false) 
    echo $row; 
} 
+0

できませんでしたそれを働かせてください。私のコードは[link](http://pastebin.com/fHcagkP6)です。どこに追加しますか? – HiddenChampion

+0

今は動作しますが、それは正反対です。これは、Johnを含む行を除くすべての行を表示します。 – HiddenChampion

+0

これで動作します。ありがとうございました – HiddenChampion

0

あなたはfilepreg_grepを使用することができます。

// Put the file into an array 
$file = file($file_contents); 

// Get only the lines that have John 
$john = preg_grep('~^John~', $file); 

あり、私はexplode()行をいただきたい

+1

それは私のために働いていない。私は以下のコードを共有しました – HiddenChampion

0

にこれを行うには約百万の方法があり、最初の値をチェック:あなたはスクレーピングしているので、あなたが個人を解析できる

$row_array = explode(" - ", $row); 

if ($row_array[0] == "John") { 
    // Row contains John 
} else { 
    // Row does not 
} 

それらが配列内にあるので簡単に値を取得できます。

+1

afaik strpos($ row、 'John')== 0は爆発よりも速くなければなりません – Alex

+0

私は知っていますが、OPは*スクラップしているので*後で文字列を解析します。 'explode()'はあとで時間を節約します。 – Blender

+0

私はその論理を理解していません – Galen

関連する問題