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

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

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

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

Q&A

解決済

2回答

728閲覧

PHP 文字列内の内容が全て一致するか判定するプログラムを作りたい

kotouharuto

総合スコア38

PHP

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

0グッド

0クリップ

投稿2020/05/18 02:45

編集2020/05/18 03:17

状況

現在、「与えられた文字列の文字が全て一致するか判定する」プログラムを書いていて、その方法が思いつかず、検索をかけても全く出てこなかったので質問させて頂きました。

解決したいこと

phpで与えられた文字列の文字が全て一致するか判定するプログラムを作りたいです。

問題の趣旨

与えられた文字列の中の文字列が全て同じだったら'NG'と出力し、二つ以上の文字から構成されている文字列だったら'OK'と出力する。といった感じです。
例)
・'AAAAAAAA' → 'NG'
・'hello' → 'OK'

試したこと

PHP

1if(preg_match('/AAAAAAAA/', $s)) { 2 echo 'NG'; 3 } else { 4 echo 'OK'; 5 }

このように正規表現を使いましたが、AAAAAAAAしか判定してくれなのでダメでした

わかる方がいましたらご教授の方よろしくお願いします。

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

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

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

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

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

m.ts10806

2020/05/18 02:53 編集

某サイトとはなんでしょう。 Paizaであれば隠して質問したとして規約違反です。回答した人も同罪になります。 でなくても、「スキルチェック」であれば現在の実力ということで納得するしかないのでは。
kotouharuto

2020/05/18 02:55

ありがとうございます。 自分の勉強不足でした、失礼いたしました。
m.ts10806

2020/05/18 03:00 編集

勉強不足を問うてるのではなく、姿勢そのものを問うています。 他人の力を使ってまで獲得したランクになんの価値がありますか?就職などにも活かせるでしょうけど、実力バレて切られるのがオチですよ
yambejp

2020/05/18 03:01

入力文字数が0もしくは1だったときはどうするのでしょうか? また改行など空白文字でもはいればよいのでしょうか?
kotouharuto

2020/05/18 03:15 編集

m.ts10806さん 気分を害してしまい申し訳ありません。 自分の力で解決を目指します。確かに価値がありませんね、すいませんでした。以後気をつけていきます。
kotouharuto

2020/05/18 03:13

yambejpさん 修正依頼ありがとうございます。 質問した自分が言うのは申し訳ないですが、自分で解決することにしました。 貴重なお時間を奪ってしまい申し訳ありませんでした。
m.ts10806

2020/05/18 03:50 編集

気分を害してるわけではなく、あくまで、疑問に感じているだけです。 本来は質問削除依頼をすべきかと思います。「自分で解決することにした」は回答としては不適切ですし、ちゃんと回答をするとスキルチェックの答えを載せてしまうことになるわけですから。
guest

回答2

0

$pattern="/^(.)\1+$/";
$str="AAAAAAA";
print preg_match($pattern,$str)?"NG":"OK";
$str="hello";
print preg_match($pattern,$str)?"NG":"OK";
$str="AAAB";
print preg_match($pattern,$str)?"NG":"OK";

投稿2020/05/18 03:07

yambejp

総合スコア114968

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

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

kotouharuto

2020/05/18 04:29

この方法で試したら、解決しました。 ありがとうございました!
mahbo

2020/05/20 12:13

もし「与えられた文字列」が1文字というケースがあるのなら、 $pattern="/^(.)\1*$/"; の方が良いと思います。
guest

0

自己解決

もう少し自分で調べて解決することにしました。
申し訳ありません。

投稿2020/05/18 03:16

kotouharuto

総合スコア38

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

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

yambejp

2020/05/18 03:27

10分考えてでてこないアイデアは、ヒントもなしにそれ以上やっても 無駄です。(まだそのスキルがないのですから) 検索をかけてもでてこないなら他人に聞いて次に活かせばよいでしょう。 もし学習サイトの問題を転載しているならまずいですけどね。
kotouharuto

2020/05/18 04:22

ありがとうございます。 yambejpさんのご回答活用させていただきます。 それはしませんのでご安心を。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問