PHP implode会爆炸逗号分隔值,以便在if else语句中使用

时间:2015-11-10 11:57:25

标签: php html mysql database phpmyadmin

我正在开发一个项目,我需要在数据库字段中输入逗号分隔值,然后提取要在if和else语句中使用的数据。

例如:在数据库字段user_status中,我有admin,admin1,admin2,admin3........etc之类的用户名。我想使用这些值,如:

$user_status = $row['user_status']; // database values of all the usernames
$username    = $_SESSION['username']; // username of the logged in user eg. admin

if($user_status == $username) // if session username matches with a username in the database field
{
  statements;
}else{
  statements;
}

我想从数据库中提取逗号分隔的数据库值,并且如果登录用户的用户名与数据库中的许多用户名之一匹配,则匹配。但我不太清楚如何做到这一点。请帮助我专家。

2 个答案:

答案 0 :(得分:1)

使用explode创建一个数组并使用in_array检查$username数组中是否存在$user_status

<?php
$username    = $_SESSION['username'];
$user_status = explode(',', $row['user_status']);

if (in_array($username, $user_status)) {
    //...
}

http://php.net/manual/en/function.explode.php

http://php.net/manual/en/function.in-array.php

答案 1 :(得分:0)

作为替代解决方案,您可以搜索以逗号

封装的字符串
if (strpos($user_status, ','.$username.',') !== false) 
   echo 'user found';
else 
    echo 'not found';