PHP-检查字段CONTAINS vs是否等于

时间:2019-03-21 16:29:00

标签: php

我正在尝试检查我的字段之一是否包含(而不是等于)从$ user变量中获取的项目。我的字段(field_targetuser)包含一串数字:45、409、47、100。

我正在尝试查看field_targetuser是否包含捕获的uid(47)。为了完成此任务,我应该如何编写以下内容?为我的新意表示歉意。

global $user;

if($user->uid == $data->field_targetuser)          
{
    return false;
} else {
    return true;
}

2 个答案:

答案 0 :(得分:3)

使用带有,参数的explode(),它将构成ID数组。

$arrTargetUserIds = explode(',', $data->field_targetuser);

然后在数组中查找。

if(in_array($user->uid, $arrTargetUserIds)){
}

答案 1 :(得分:1)

通常,PHP explode()将字符串拆分为数组,而in_array()检查 uid 是否在展开的数组中。同时添加array_map()来修剪数字周围的空白。让我们这样做吧-

<?php
$user = new stdClass();
$data = new stdClass();
$user->uid = 47;
$data->field_targetuser = array_map('trim', explode(',', '45, 409, 47, 100')); 

if(in_array($user->uid,$data->field_targetuser))          
{
    print "Exists";
    return true;
} else {
    print "Not Exists";
    return false;
}
?>

演示: https://3v4l.org/NcbdW