![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセルのVLOOKUP関数みたいな関数をphpで作れますか?
一定の規則で保存されているテキストデータから値を取り出したいのですが・・・
例えば、
xxx,2003年度,第3回,大問4,7<br />
zzz,2005年度,第1回,大問2,3<br />
rrr,2004年度,第2回,大問1,12<br />
sss,2006年度,第3回,大問3,2<br />
ddd,2006年度,第3回,大問2,4<br />
yyy,2000年度,第2回,大問2,3<br />
上記のように保存されているテキストデータから、
xxxを目印に「2003年度,第3回,大問4,7」
という値を取り出せますか?
No.1ベストアンサー
- 回答日時:
vlookupというからには先頭のキーになるものはユニークであるという
前提とします。
ファイルがtest.csvだとすると、こんな感じ。
<?
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$key=$data[0];
array_shift($data);
$datas[$key]=implode(",",$data);
}
fclose($handle);
print $datas["xxx"];
?>
この回答への補足
保存形式はcsvではなくて、txt形式なのですが、
その場合はどうすればいいのですか?
ちなみに、保存形式をcsvにかえて試したところ、
何も表示されませんでした・・・
宜しくお願いします。
No.2
- 回答日時:
VLOOKUP関数が、微妙になじみがないけど・・・。
>指定した範囲の中から、検索条件に一致したデータを検索し、取り出してくれる関数です。
Foreachとか、Whileでループかけて、listで分けて、if文でechoすれば。
関数化するのなら、echoじゃなくて、配列に入れて、戻り値にすれば。
あ、関数の引数は、検索ワードにすれば、もっといいか。
・・・、すごい初歩の初歩だけど、あれ、なんかおかしいこと書いてるかな?
これが明らかに「そういう意味じゃなくて!」か、「分からない」場合は、ガンバレ!!って事で。
関数化した所で、配列の取り出し方とか、連想配列の取り出し方とか、わかるんかなー。w
ちなみに、CSVは中身はテキストだから、txtに変えても平気だよ。
あんまり意味ないけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- 数学 数学の質問です。 △ABCにおいて, ∠Aの二等分線が BC と交わる点をRとする。 辺BC, CA 2 2023/07/13 23:58
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
- MySQL MySQLに登録した内容を更新する時の、textareaの使い方 1 2022/07/11 18:20
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ファイルの構造体の値を読み...
-
VBAでcsvファイルもシートもあ...
-
エラーメッセージ(無効な間接...
-
連想配列で
-
行数が30万件ほどあるCSVから、...
-
CSVデータの行数カウントをした...
-
ログファイルが一定行数を超え...
-
phpでcsvファイルから二次元配...
-
PHPのアクセスカウンターのバグ...
-
FortranのOPEN文
-
C言語でCSVファイルの行数を読...
-
String だと「 ByRef引数の型が...
-
$_SESSIONに二次元配列を使える...
-
foreachのなかで次のキーを参照...
-
STLのvectorで作った配列をメン...
-
スカラーのベクトル微分
-
Perlで重複行を削除したい
-
PHPのカッコ[ ]の使い方について
-
OCI で、SELECT結果行数を取得...
-
SQL文の実行結果を変数で受けて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの構造体の値を読み...
-
Resource id #3 と表示されま...
-
stdClass Objectを連想配列のよ...
-
CSVデータの行数カウントをした...
-
ヒアドキュメントの中のfor文
-
複数行のデータのPOST処理に関して
-
C言語でCSVファイルの行数を読...
-
While文を使って配列の中身を全...
-
行数が30万件ほどあるCSVから、...
-
CSVファイルの最終行のデー...
-
csvの内容を行単位で削除したい
-
バイナリファイルの内容を、そ...
-
doxygenを使用する環境について
-
PHPで、CSVファイルを、指定し...
-
FortranのOPEN文
-
csvファイルを読み込み→上書き...
-
PHPでCSVの一部の行を編集したい
-
ラジオボタンのチェックの付け方。
-
Ethnaでのsection使用法
-
CSVデータを正規表現で抜き出せ...
おすすめ情報