質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

2回答

1142閲覧

PHPについて。

SyoSa

総合スコア8

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2015/11/15 23:33

PHP初心者です。

もし、$input_dataに「A」か「B」という文字が無かったら、という処理を作りたいと思っています。

if (strpos($input_data, "A") === false || strpos($input_data, "B") === false) {
}

以上のようなプログラムを書いたのですがうまくいきません。

「||」の使い方が間違っているのでしょうか?

詳しい方、教えていただけたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

設問の意図は「$input_dataにAという文字がなく、なおかつBという文字もない」だと思いますので、&&を使ってください。

php

1if (strpos($input_data, "A") === false && strpos($input_data, "B") === false) { 2 // 処理 3}

||だと、「$input_dataにAという文字がないか、またはBという文字がない」になります。つまりAかBのどちらかが含まれていれば条件が通ってしまいます。

投稿2015/11/15 23:59

naga3

総合スコア1293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

$input_dataに「A」か「B」という文字が無かったら

というのが正しい仕様で

1.A
2.B
3.C
4.AC
5.BC
6.AB
のパターンがあった場合、6以外は全て真になって問題無ければ

PHP

1if (strpos($input_data, "A") === false || strpos($input_data, "B") === false) { 2}

は正しい記述です。
$input_dataに日本語等のマルチバイト文字が含まれる場合はmb_strpos()を使ってみてください。
それでもうまく行かない場合は、仕様が違っているか、$input_dataに値が正しく入っていないかのどちらかと思われます。

「うまくいかない」の内容を出来るだけ詳細に書き、
($input_dataがどんな値の時にどううまく行かないのか)
ソースコードも該当部分だけでは無くて出来るだけ広い範囲で記述すると
より適切な回答が得られると思います。

投稿2015/11/15 23:56

tanat

総合スコア18711

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問