アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下ですが、PHPにはPが2個あり、どちらのPなのか分かりずらいです。
それで
$ptr = array("PHP", "^PHP", "PHP$", "^PHP$");を
$ptr = array("ABC", "^ABC", "ABC$", "^ABC$");に変更した場合ですが
$str = array("PHP", "PHPP", "PHPPP","PPHP");を
$str = array("?", "?", "?","?");の?の中ですが、スペルをどう変えたらいいでしょうか?
宜しくお願いします。
<!DOCTYPE html>
<html>
<head>
<title>^ $ で文字検索(行頭・行末)</title>
</head>
<body>

<?php

$ptr = array("PHP", "^PHP", "PHP$", "^PHP$");検索条件文字列(検索する文字列)
$str = array("PHP", "PHPP", "PHPPP","PPHP");検索対象文字列(この中~検索する)

?>

<table border="2">
<tr bgcolor="#AAAAAA">
<th>パターン</th>
<th>文字列</th>
<th>マッチ</th>
</tr>

<?php

foreach($ptr as $valueptr){
foreach($str as $valuestr){

print "<tr><td>{$valueptr}</td><td>{$valuestr}</td>";

$mt = preg_match("/". $valueptr . "/", $valuestr)
? "〇": "×";
print "<td>{$mt}</td></tr>\n";

}
}

?>

</table>

</body>
</html>

質問者からの補足コメント

  • うれしい

    自己レスですが!
     組み合わせの問題だったので最後のPPPHPが少してこずりました。
    表にして、組み合わせパターンを作り当てはめていき、PPPHP==AAABCでマッチしました。
    $ptr = array("ABC", "^ABC", "ABC$", "^ABC$");
    $str = array("ABC", "ABCC", "ABCCC","AAABC");
    これで次のステップに移行できます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/03/29 07:02

A 回答 (1件)

正規表現による文字列のマッチングを理解させるものでしょうからPHPという3文字の文字列にPが2個有ることは説明内容の分かりやすさとは関係ないと思いますが。

。。

PHPの1文字目のPをAに、2文字目のHをBに、3文字目のPをCに置き換えたのですから、元の被検索文字列が何のためにPHP、PHPP、PHPPP、PPHPとなっているかを考えれば答えはわかるはずです。

参考まで。
この回答への補足あり
    • good
    • 1
この回答へのお礼

ご回答くださいましてありがとうございます。
了解です。

お礼日時:2018/03/27 19:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!