PHPでの文字の判別

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
motti

PHPでの文字の判別

#1 投稿記事 by motti »

$data = "ABC";
として、
もし$dataに格納されている最初の文字が'A'または'Z'の場合
エラー画面をプリントするという処理をおこないたいのですが、
BやCが入っていてもエラー画面が表示されてしまいます。
どうすればよいのでしょうか?

if($data[0] != 'A' || $data[0] != 'Z') {
//if( (strstr( $data[0], "A" ) === false) || (stristr( $data[0], "Z" ) === false) ) {
//if( (!stristr( $data[0], "A" )) || (!stristr( $data[0], "Z" )) ) {
print( "error!!<BR>" );
exit;
}
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

if($data[0] != 'A' || $data[0] != 'Z') {

これだと「$data[0]がAではないか、あるいはZではない」という条件分岐になるので、どんな値でも通してしまいます。

PHPの文法は分からんのですが

if($data[0] == 'A' || $data[0] == 'Z') {

ではどうでしょうか?
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
もっち

訂正

#3 投稿記事 by もっち »

$dataに格納されている最初の文字が'A'または'Z'の場合
ではなく
$dataに格納されている最初の文字が'A'または'Z'の場合でない場合
の処理がうまくいきません。
間違った質問してしまい申し訳ありません。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#4 投稿記事 by konisi »

> $dataに格納されている最初の文字が'A'または'Z'の場合でない場合

それ、二つの意味が取れるんですが。次のうち適切な方を選んで使用してみてください。



'A' or (not 'Z') の場合

if($data[0] == 'A' || $data[0] != 'Z') {

not ('A' or 'Z') の場合

if($data[0] != 'A' && $data[0] != 'Z') {
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ゲスト

#5 投稿記事 by ゲスト »

ここはActiveBasicによるプログラミングについての掲示板ですよね?
もっち

ありがとうございます

#6 投稿記事 by もっち »

うまくできました。
「PHP 質問 板」
で検索したら一番上にここのリンクがあったたり、プログラミング全般の
質問掲示板かと思っていました。
まったく関係ない言語の質問をしてしまい申し訳ありません。
返信する