ホームページ >バックエンド開発 >PHPチュートリアル >文字列についての質問です
<?php$a='1,19,34';//无规律的N个数字用逗号分隔$b="20";//任意一个单数/*使用场景:$a 存了城市ID 用户$b 是城市ID=20 他只能在$a 有20的地方浏览 其他的城市不能 假如使用函数 in_array $a='1,20,18,19'; $b='20'; 那么他也可以在1 18 19浏览了 如何实现他只能在20这个城市浏览 其他的不能浏览呢 */
in_array の 2 番目のパラメーターは配列です。もちろん、文字列は使用できません。
する必要があります。in_array($b, explode(',', $a ))
これが事実であることはわかっていますが、 $a='1,20,18,19'; $b='20'; と表示されます。彼は 1 18 19 でも閲覧できます
20 都市でのみ閲覧でき、他の都市は閲覧できないことをどのように認識しますか?
たとえば、
url.php?city=20 (データ インベントリ 1 ,20,18,19)
ユーザー A が位置する都市は 20
in_array を使用する場合
url.php?city=1 url.php?city=18 url .php?city=19 はすべてアクセス可能です
実装方法は? 彼は url.php?city=20 のみにアクセスできます
このルート $a には何もありません。 $a はすべての都市の ID を格納するだけですが、$b にはユーザーの都市 ID が含まれます。
都市を閲覧するときは $b を判断し、その後 $b の都市が他の都市を禁止することを許可する必要があります。これは $a とは関係ありません。 $a には都市 ID が格納されており、$a の特定の値を $b と比較する必要があるため、
は $a と密接に関連しています。
も
と比較する方法に行き詰まっています。 🎜>if($a は $b とどう比較しますか){
echo "はい";
}else{
echo "いいえ";
それは間違いなくin_array を使用する場合 いいえ
if(in_array($b,explode(',', $a))) {
//これはアクセスが許可されているコンテンツです
}
大丈夫、表現が足りませんでした
フィールドを34個に分割し、switchで判断しました
よく考えた結果、カンマは使えないようです正確な判断のためにそれらを分離する