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

$a="ab";
$b="abcdfg"
if($aと$bが一文字でも一致したら){
TRUEしこのの文章を実行する。
}

この二つの変数は2文字一致しているのでIFの中を動作させたいのですが、どのように書けばよいでしょうか。
よろしくお願いします。

A 回答 (3件)

#1補足>


function isIn($a, $b){
#文字列$a の文字全てが文字列$b の構成文字になっているか調べる
if($a=="") return false;

$chars = array_unique(preg_split('//', $a, -1, PREG_SPLIT_NO_EMPTY));
foreach($chars as $c){
if(!strstr($b, $c)) return false;
}
return true;
}

$data = Array("cdegh","cdeh","chi","abcdefgh");
$s="dg";

foreach($data as $str)
if(isIn($s, $str))
print "$str is match!\n";
    • good
    • 0
この回答へのお礼

とても勉強になりました。
何度もお願いし申し訳ありません。

ありがとうございました。

お礼日時:2006/10/08 05:25

>$aと$dのみマッチさせ実行したい。



$sの中の「d」は$bにもヒットするとおもいますが
どうしたいのでしょうか?
dとg両方が出現しなくてはいけないのですか?
命題があいまいだと回答者が混乱しますが・・・

この回答への補足

しつれいしました。
質問は一文字でも一致した場合を聞いてのですが
補足には応用として文字が離れていても一致した場合TRUEにしたかったのです。


//検索文字列
$s="dg"
//検索したい変数
$d="abcdefgh"

if(/*$sの文字列が$dのなかにあればTRUE*/){
echo "abc"
}

補足日時:2006/10/08 01:43
    • good
    • 0

$a="ab";


$b="abcdfg";
if(preg_match("/[$a]/",$b)){
print "TRUEしこのの文章を実行する。";
}

この回答への補足

ありがとうございます。とても参考になりました。
また、下記のような場合はどうなるでしょうか。

//検索文字列
$s="dg"
//検索したい変数
$a="cdegh";
$b="cdeh";
$c="chi";
$d="abcdefgh"

if(/*$sの文字列が$aや$bなどのなかにあればTRUE*/){
//つまり該当する$aと$dのみマッチさせ実行したい。
}

お時間のあるときにでもご教授いただけると幸いです。

補足日時:2006/10/07 17:22
    • good
    • 0

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