PHP内爆-分解逗号分隔值,用于if else语句
我正在从事一个项目,需要在数据库字段中输入逗号分隔的值,然后提取数据以用于if和else语句 例如:在数据库字段PHP内爆-分解逗号分隔值,用于if else语句,php,html,mysql,database,phpmyadmin,Php,Html,Mysql,Database,Phpmyadmin,我正在从事一个项目,需要在数据库字段中输入逗号分隔的值,然后提取数据以用于if和else语句 例如:在数据库字段user\u status中,我有像admin、admin1、admin2、admin3……等用户名。我希望使用以下值: $user_status = $row['user_status']; // database values of all the usernames $username = $_SESSION['username']; // username of the
user\u status
中,我有像admin、admin1、admin2、admin3……等用户名。我希望使用以下值:
$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;
}
我想从数据库中提取逗号分隔的数据库值,并匹配登录用户的用户名是否与数据库中的多个用户名之一匹配。但我不太确定如何做到这一点。请帮助我找到专家。使用分解创建一个数组,并在数组中使用来检查$username
是否存在于$user\u status
数组中
<?php
$username = $_SESSION['username'];
$user_status = explode(',', $row['user_status']);
if (in_array($username, $user_status)) {
//...
}
作为替代解决方案,您可以搜索封装在comas中的字符串
if (strpos($user_status, ','.$username.',') !== false)
echo 'user found';
else
echo 'not found';
看看php函数explode
和in_array
这个问题与您在上的另一个问题有显著不同吗?是的。。完全不同。。。两者都包含关于内爆爆炸的问题,但查询完全不同..当我回显$user_status=explode(',',$uhs['pads_status']);它返回通知:第87行C:\xampp\htdocs\sites\ptc\member_ads.php中的数组到字符串转换您不需要回显变量赋值,只需回显函数结果,只需使用回显explode…@LaptopMedico为什么回显$user\u status
?你想达到什么目标$user\u status
是一个数组,因此必须使用print\u r
或var\u dump
进行调试。也许你应该更新你的问题,或者最好创建一个新的问题。