在数组中查找字符串

时间:2014-04-13 08:15:23

标签: php arrays

我的问题基本上是,我将尝试从名为“排名”的表中获取数据。它的数据格式为," 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 )

4 个答案:

答案 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?"; }
?>