太郎,taro@yamada.jp,090-9999-9999ここでは、個人情報(名前、メールアドレス、電話番号)をカンマで区切り、1行ずつ改行してデータを記述してあります。このようにすれば、1行ずつデータを取り出し、そこから各項目の値を取り出して処理することができそうですね。
花子,hanako@flower.fr,080-8888-8888
イチロー,ichiro@baseball.com,070-7777-7777
$arr = explode(",",$lines[$i]);これが、$lines[$i]のテキストをカンマで分割しているところです。「explode」というのは、1つ目の引数に指定した文字を使って、2つ目の引数のテキストを分割し、配列にまとめて返すという関数です。ここでは","と1つ目の引数に指定をしていますね? これにより、2つ目の引数のテキストをカンマで分割していたのです。分割された配列のテキストからは、カンマは消えています。つまり、explodeで分割すると、区切り文字はなくなるので注意しましょう。$変数 = implode( 区切り文字 , 配列 );この「implode」関数を使うと、配列の各要素のテキストを、区切り文字で挟んで1つのテキストにまとめます。つまり、explodeで分解した配列を、これでもとに戻せるというわけです。セットで覚えておきましょう。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<?php
$lines = @file("data.txt") or $result = "ファイルが読めません。";
if ($lines != null){
$result = '<table border="1">';
$result .= "<tr><th>NAME</th><th>MAIL</th><th>TEL</th></tr>";
for($i = 0;$i < count($lines);$i++){
$result .= "<tr>";
$arr = explode(",",$lines[$i]);
for($j = 0;$j < 3;$j++){
$result .= "<td>{$arr[$j]}</td>";
}
$result .= "</tr>";
}
$result .= "</table>";
}
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
<title>sample page</title>
</head>
<body>
<h1>Hello PHP!</h1>
<p><?php echo $result; ?></p>
</body>
</html>
| << 前へ | 次へ >> |