• ベストアンサー

PHP3で・・・

$str1 = "加藤伊藤鈴木佐藤神田"; $str2 = "鈴木" if(****($str2, $str1)){ print "鈴木発見!!"; }else{ print "鈴木がいない・・・"; } 上記(****)に当てはまる関数(PHP3)は何がありますか? strposとか試したんですけど、うまくいかなかったです・・・

  • PHP
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

ereg() で良いと思います。 詳しくは参照URLをどうぞ。

参考URL:
http://michiko.shiratori.riec.tohoku.ac.jp/docs/php/doc/function.ereg.html

関連するQ&A

  • phpのin_array()でわからない事があります。

    phpのin_array()でわからない事があります。 $str = array('リンゴ','オレンジ','バナナ'); if(in_array("オレンジ",$str)){ print "OK"; }else{ print "NG"; } 結果:OK 上記は何の問題もないのですが、 $str = @file('hoge.txt'); if(in_array("オレンジ",$str)){ print "OK"; }else{ print "NG"; } 結果:NG // hoge.txt リンゴ オレンジ バナナ こうするとNGになってしまいます。 最近PHPを始めたばかりで根本的な事がわかってないのかも知れませんが、 もし原因をご存じの方がいれば教えていただけないでしょうか。 すみませんがよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのstrcmp関数について

    PHPのstrcmp関数の動きがよくわかりません。 strcmp (PHP 4, PHP 5) strcmp — バイナリセーフな文字列比較 説明 int strcmp ( string $str1 , string $str2 ) この比較は大文字小文字を区別することに注意してください。 パラメータ str1 最初の文字列。 str2 次の文字列。 返り値 str1 が str2 よりも小さければ < 0 を、str1が str2よりも大きければ > 0 を、 等しければ 0 を返します。 ・・・・・・・・・とマニュアルには上記のようにあります。 聞きたい事!▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ 1 このstr1がstr2より大きいとはどういうことでしょうか? 2 実際に動きを確認するためにstrcmp関数を他のPHPのビルトイン関数で実現できないのでしょうか? 私の想像では、この関数にあたえる二つの引数を10進数に変換して、値の大きさを比較するという方法なのですが・・。 たとえば <?php $str01 = "a"; $str02 = "b"; print strcmp($str01,$str02); print "<br />"; //上記の値は-1がでるためこの場合 $aのほうが$bより小さいことになる。 //$aの値の文字aが小さいとは?どういうことか //私の、ぱっと思いついた方法は、以下のような意味? $str01 = bin2hex($str01); print $str01 ; //16進数でaという値を表すと61がでる print "<br />"; $str01 = hexdec($str01); print $str01; //10進数でaという値を表すと97がでる print "<br />"; //上記を同じく$bに行うと $str02 = bin2hex($str02); print $str02 ; //16進数でaという値を表すと62がでる print "<br />"; $str02 = hexdec($str02); print $str02; //10進数でaという値を表すと98がでる print "<br />"; print "<hr />"; /* 結果、$aは$bより 【小さい】という事なのでstrcmpは-1を返したと・・・。 こういう事をかんがえてみました。 そしてこれは、普通に考えれば a => bという順序なので アルファベット順になります。 しかしこのやり方だと */ $str03 = "aaaaaaa"; $str04 = "bb"; //と上記のような文字列があった場合同じく同じ手順で値をだすと $str03 = bin2hex($str03); print $str03 ; //16進数でaという値を表すと61616161616161がでる print "<br />"; $str03 = hexdec($str03); print $str03; //10進数でaという値を表すと27410143614427489がでる print "<br />"; //上記を同じく$bに行うと $str04 = bin2hex($str04); print $str04 ; //16進数でaという値を表すと6262がでる print "<br />"; $str04 = hexdec($str04); print $str04; //10進数でaという値を表すと25186がでる print "<br />"; /*ただ上記の方法だと、$str03と$str04を比較すると$str04の【bb】という値の方が 小さくなり順序的には bb => aaaaaaとなりアルファベット順にするとこができない。 三つ目の質問 3 アルファベット順にソートしたいとき標準のsort関数を使わずに他のPHPの標準関数の組み合わせでアルファベット順に並び替える 関数はつくれないのか? どなたか、ご意見お聞かせください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 「404判定のstrpos」の演算子が分からないの

    「404判定のstrpos」の演算子の意味が分からないので、教えてください。 ▽404 Not Found時の対処 | PHPのQ&amp;A【OKWave】   http://okwave.jp/qa/q4783971.html に掲載されていた下記を試したら、期待した動作になったのですが、 if (strpos($hdr[0],'404')!==false){  echo 'Not Found'; } else { しかし、 ▽PHP: strpos - Manual   http://php.net/manual/ja/function.strpos.php を参考に、「===演算子」へ変更したら、 if (strpos($hdr[0],'404')===false){  echo 'Not Found'; } else { 正常なURL(200)も、全てNot Foundになってしまいます。 ちなみに、 if (strpos($hdr[0],'404')==true){ だったら、期待通りの動作になりますが、 if (strpos($hdr[0],'404')===true){ だと、何が来ても同じ結果になります。 なんででしょうか? strpos関数の返り値を調べる際 ===演算子 を 利用しなくても良いのでしょうか?

    • ベストアンサー
    • PHP
  • エクセルの関数式です

    エクセルの条件式についてです (IF文) 例えば A列      B列   C列  2008/2/1 500   加藤 2008/3/10 200   鈴木 2008/3/25 100   加藤 2008/4/13 800   佐藤 こんな感じで元データがあるとして、 加藤           鈴木           佐藤 ~2月末 ~3月末 ~4月末 ~2月末 ~3月末 ~4月末 ~3月末 ~4月末 500 200 100                              800 こんな感じで別表を作成したいのですが、 IF(C1="加藤",IF(A1<2008/3/1,B1,""),"") 上記の感じで式を入力しても反映してこないんですが、なんででしょう? ちなみに、元データの 日付、金額、氏名 は別表からの関数式で飛ばしています。 教えてくださーい!   いろんなパターンのIF文でやってみたんですが・・・ 作成したい表の方が、ずれてしまいますので、おかしいですが・・・

  • PHPでの変数の扱い方

    PHPで(1)、(2)共にtrueになります。 (1)、(2)についてどうしてこうなるのか簡単に解説してもらえませんか。 また(1)が正しく動作するようにするにはどう修正すればいいですか。 (1) $value=0; if($value == '-'){ print("true"); }else{ print("false"); } (2) $value='-'; if($value == 0){ print("true"); }else{ print("false"); }

    • ベストアンサー
    • PHP
  • (EXCEL)あるもの一覧

    EXCELでデータベースに存在する値を一つずつ取り出して、並べることって可能ですか? 例) ------------------ 1 佐々木 2 佐々木 3 石田 4 鈴木 5 山田 6 加藤 7 加藤 8 佐藤 9 佐藤 10 佐藤 11 渡辺 12 石田 13 山田 14 佐々木 15 鈴木 16 鈴木 17 鈴木 18 山田 19 山田 20 渡辺 21 佐藤 22 加藤 23 石田 24 佐々木 ----------------------- ↓ ----------------------- 1 佐々木 2 石田 3 鈴木 4 山田 5 加藤 6 佐藤 7 渡辺 ----------------------- 一行だけのピポッドテーブルをつくり、値だけを得ることは可能でしたが、 リアルタイムに変化するものが欲しいので 関数や計算を使ってなんとかできないでしょうか?

  • 別階層のPHP関数を使うには?

    php_sample ┣html ┃┗index.html ┗php  ┗com.php 上記の用にHTMLとPHPをフォルダ毎に分けようと思っているのですが index.htmlからcom.phpの関数を呼ぶにはどうしたらいいのでしょうか? 各ソースは以下の様に記述しております。 ※HTML側 <?php cm_sample("さんぷる"); ?> ※PHP側 function cm_printHtmlHeader($str_tmp) { print "文字列:".$str; }

    • 締切済み
    • PHP
  • PHPで文字列の検索

    今日はじめてPHPを触ったので、的外れな事を言っていたら指摘してください。 ある文字列に"テスト"という文字列が含まれていた場合処理1をしたいのですが、 リファレンスを読んでstrposを使うことまではわかりました。 そこで、以下のスクリプトを作成しました。 if(strpos($txtContents, "テスト") >= 0){ 処理1; }else { 処理2; } これだと、$txtContentsに「テスト」が含まれない場合、処理1に 流れてしまいます。 「テスト」が含まれるときも処理1に流れます。 どこが間違っているか教えてもらえますか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • エクセル表からの抽出して別の表を作る

    探し方が悪いのか、エクセルならできそうなのに答えが見つからず苦戦しています。どなたかお知恵をお貸しください。 1/1   1/2 佐藤 車    自転車 田中 バイク   加藤      バイク 吉田 車    車 山田 自転車  車 伊藤 バイク  車 鈴木 車    自転車 このような一覧表があります。これを基にして、次のような表を作りたいのです。    バイク  車   自転車 1/1  田中   佐藤  山田     伊藤   吉田          鈴木 1/2  加藤   吉田  佐藤          山田  鈴木          伊藤 最初の表は非常に細かく、半年分が1枚のシートになっているため見にくく、月単位で見やすい表に変えているのですが作業が面倒なのでなんとかならないかと考えています。 どうぞよろしくお願いいたします。

  • エクセルで顧客訪問管理表を作成しています。

    エクセルで顧客訪問管理表を作成しています。 6/1 佐藤氏 6/1 加藤氏 6/2 佐藤氏 6/2 真田氏 6/4 伊藤氏 というようなデータがあります。 この、日付け、顧客データをもとに、     6/1 6/2 6/3 6/4 伊藤           ◎ 山田 加藤  ◎ 佐藤  ◎ 真田     ◎ といった表に転記されるように顧客訪問管理表を作りたいのですが、 どのような関数を使えばいいでしょうか? ご教示のほどよろしくお願いします。