ホームページ >バックエンド開発 >PHPチュートリアル >2 つの文字列セットに同じ文字が含まれているかどうかを確認するにはどうすればよいでしょうか?
$a=2344;//メイン文字列、固定値。
//以下は可変変数です
If $b=12;//$a 文字列に 1 と 2 が含まれているかを判定し、判定後の結果は false になります
If $b=22;//$a 文字列が文字列かどうかを判定します2が2つ含まれる場合、判定結果は2のみ、false
If $b=234;//文字列$aに2、3、4が含まれるか判定。判定後の結果$aには全てが含まれる、$b=234の場合はtrue
b=324;//$a 文字列に 3、2、4 が含まれるかどうかを判定します。判定後の結果 $a にはすべてが含まれ、true
If $b=4432;//$a 文字列に 4 が含まれるかどうかを判定し、 4, 3, 2. 判定後の結果 $a には 4 がすべて含まれ、true
If $b=4444;//$a の文字列に 4 が 4 つ含まれるか判定します。判定後の結果 $a には 4 が 2 つだけ含まれます。 , false
If $b
If $b
If $b
...後でたくさんの
が必要になります。
判決文の書き方は?
$a = '2344';$d = array('12', '22', '234', '324', '4432', '4444');$a = count_chars($a, 1);foreach($d as $b) { $t = count_chars($b, 1); $f = 0; if(array_keys(array_intersect_key($t, $a)) == array_keys($a)) $f = 1; printf("b = %s %s\n", $b, $f ? '真' : '假');}
b = 12 假b = 22 假b = 234 真b = 324 真b = 4432 真b = 4444 假
If $b=4444; // 判定後の結果 $a には 4 が 2 つしかなく、false になります。
このルールは不適切だと思われます
あなたの目的が何なのかわかりませんか?
ビジネスロジックから始めてください。もっと良い解決策があるかもしれません。 ... 判断にはまだ欠陥があります、
$a が 4444 だったらどうなるでしょうか。
私が指定したコードは 1 つの状況のみを処理できます: $a のすべての文字 (重複を削除) は $b に出現する必要があります
完全なルールを策定した後、あなたを待っています, 関数を展開します
私のビジネス ニーズを直接教えてください。少しは理解できるかもしれません。
こんな感じです。
あなたは蔡七星について知っておくべきです、
今回の宝くじ番号が 5667 321 の場合
ここでは、最初の 4 桁の 5667 だけを切り取って当選を判定し、最後の 3 桁を省略します。
当選ルールは4等賞の場合となります。
1 等は 4 つの数字が同時に表示されます。 2 等は 3 つの数字が同時に表示されます。 3 等は 2 つの数字が同時に表示されます。 4 等は 1 つの数字です。 。
そして、宝くじが引かれる前に、多くの人が賭けをします。
$a = '2344';$d = array('12', '22', '234', '324', '4432', '4444');$a = count_chars($a, 1);foreach($d as $b) { $t = count_chars($b, 1); $f = 0; if(array_keys(array_intersect_key($t, $a)) == array_keys($a)) $f = 1; printf("b = %s %s\n", $b, $f ? '真' : '假');}