PHP in_array 没有找到存在的值

Dex*_*Dex 0 php arrays search

我有一个名为 $friend_array 的数组。当我 print_r($friend_array) 它看起来像这样:

Array ( [0] => 3,2,5 ) 
Run Code Online (Sandbox Code Playgroud)

我还有一个名为 $uid 的变量,它是从 url 中提取的。

在我正在测试的页面上,$uid 的值为 3,因此它在数组中。

但是,以下是说它不存在:

if(in_array($uid, $friend_array)){
  $is_friend = true;
}else{
  $is_friend = false;
Run Code Online (Sandbox Code Playgroud)

这总是返回 false。我回显 $uid 并且它是 3。我打印数组并且 3 在那里。

我究竟做错了什么?任何帮助将不胜感激!

And*_*tov 5

输出

Array ( [0] => 3,2,5 ) 
Run Code Online (Sandbox Code Playgroud)

...如果数组是由以下内容创建的,则会生成:

$friend_array = array();
array_push($friend_array, '3,2,5');
print_r($friend_array);
Run Code Online (Sandbox Code Playgroud)

根据你的问题,我认为这不是你想要做的。

如果要将三个值添加到数组的前三个索引中,请执行以下操作:

$friend_array = array();
array_push($friend_array, '3');
array_push($friend_array, '2');
array_push($friend_array, '5');
Run Code Online (Sandbox Code Playgroud)

或者,作为 array_push() 的简写:

$friend_array = array();
$friend_array[] = '3';
$friend_array[] = '2';
$friend_array[] = '5';
Run Code Online (Sandbox Code Playgroud)