我想知道变量是否可以在数组中使用。请参见下面的($userArray=array($usersBought);)

    $user = "Darren";
    $usersBought = $row['usersBought'];
    $userArray = array($usersBought);
    if (in_array($user, $userArray)) {
      $button = "yes";
    }

如果可以,数据库中的文本应该是什么?我试过这个。。。
"Darren","Adam","Coral"
Darren,Adam,Coral
Darren Adam Coral

此数组处于while循环中,并在循环的页面上显示多个无序列表。这就是为什么我有$usersBought=$row['usersBought'];那里

最佳答案

为了使数据库正确规范化,应该以这样的方式构造表,即不在数据库中存储数组,而是每个用户都是表中的一行。
然而,要回答您的问题,您需要使用explode()函数。

//$row['usersBought'] = "Darren,Adam,Coral"; <- Example
$user = "Darren";
$usersBought = $row['usersBought'];
$userArray = explode(",", $usersBought);
if (in_array($user, $userArray)) {
  $button = "yes";
}

在上面的例子中,它假设用户由逗号分隔,但是您可以将第一个参数更改为您想要的任何参数。

10-07 14:01