我的问题基本上是,我将尝试从名为“排名”的表中获取数据。它的数据格式为," 1,2,3,4,5"等授予权限。所以基本上我试图使它成为一个数组,并找出数组中是否有一个数字。基本上使它成为一个阵列是行不通的。我怎么做到这一点?以下是我的代码:
<?php
function rankCheck($rank) {
$ranks = "1,2,3,4,5";
print_r($uRanks = array($ranks));
if(in_array($rank, $uRanks)) {
return true;
} else {
return false;
}
}
if(rankCheck(5) == true) { echo "Hello"; } else { echo "What?"; }
?>
此代码返回false,而它应返回true。这只是一个基本算法。
print_r显示:
Array ( [0] => 1,2,3,4,5 )
答案 0 :(得分:4)
如果您确定您的分隔符是逗号,请尝试以下操作:
$ranks = explode(',',$rank);
其中$ rank是你的字符串。
答案 1 :(得分:3)
很简单,$ranks
变量,
变量以逗号为$ranks = "1,2,3,4,5";
$uRanks = explode(',',$ranks);
//$uRanks would now be array(1,2,3,4,5);
if(in_array($rank, $uRanks)) {
//..rest of your code
:
{{1}}
答案 2 :(得分:1)
你应该:
$uRanks = explode(',', $ranks);
而不是:
$uRanks = array($ranks);
将其作为数组。
答案 3 :(得分:-1)
问题解决了。我使用了爆炸功能,如下所示:
<?php
function rankCheck($rank) {
$ranks = "1,2,3,4,5";
print_r($uRanks = explode(',', $ranks));
if(in_array($rank, $uRanks)) {
return true;
} else {
return false;
}
}
if(rankCheck(5) == true) { echo "Hello"; } else { echo "What?"; }
?>