• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpの関数について質問です!)

phpでエクセルのVLOOKUP関数みたいな関数を作成する方法

このQ&Aのポイント
  • phpでエクセルのVLOOKUP関数と同じような機能を実装する方法について質問です。
  • 保存されているテキストデータから特定の値を取得したい場合、phpの関数を使用することができます。
  • 具体的な例として、xxxを目印に「2003年度,第3回,大問4,7」という値を取り出す方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答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"]; ?>

add0804
質問者

補足

保存形式はcsvではなくて、txt形式なのですが、 その場合はどうすればいいのですか? ちなみに、保存形式をcsvにかえて試したところ、 何も表示されませんでした・・・ 宜しくお願いします。

その他の回答 (1)

noname#58606
noname#58606
回答No.2

VLOOKUP関数が、微妙になじみがないけど・・・。 >指定した範囲の中から、検索条件に一致したデータを検索し、取り出してくれる関数です。 Foreachとか、Whileでループかけて、listで分けて、if文でechoすれば。 関数化するのなら、echoじゃなくて、配列に入れて、戻り値にすれば。 あ、関数の引数は、検索ワードにすれば、もっといいか。 ・・・、すごい初歩の初歩だけど、あれ、なんかおかしいこと書いてるかな? これが明らかに「そういう意味じゃなくて!」か、「分からない」場合は、ガンバレ!!って事で。 関数化した所で、配列の取り出し方とか、連想配列の取り出し方とか、わかるんかなー。w ちなみに、CSVは中身はテキストだから、txtに変えても平気だよ。 あんまり意味ないけど。

関連するQ&A

専門家に質問してみよう