2013-03-07 34 views
1

我在下面显示的数组中有这些值。在一个数组中的匹配值在Php

$arrayOfId 

Array 

(
        [0] => 45 
        [1] => 41 
        [2] => 33 
        [3] => 42 
        [4] => 42 
        [5] => 42 
        [6] => 42 
        [7] => 42 
        [8] => 42 
        [9] => 42 

       ) 

并匹配数组中的特定值。

**PHP** 

    $user_id = $row['user_id']; 
    //comming user id in $row result is $user_id= 42; 

    if(in_array($user_id,$arrayOfId)) 
    { 
    echo "Already exist"; 
    }else 
    { 
    echo "Not exist"; 
    } 

奇怪它不会在真正的区块。会失败。

我通过Ajax获得结果。 为什么?

+1

转储'$ share_id1'的价值,那么我们就可以帮助人们更好地 – 2013-03-07 06:45:32

+0

$ share_id1现在是$ arrayOfId – 2013-03-07 06:47:03

+1

这只是打错了? '回声'已经存在';' – 2013-03-07 06:48:18

回答

3
$arrayOfId = Array 
(
    0 => 45, 
    1 => 41, 
    2 => 33, 
    3 => 42, 
    4 => 42, 
    5 => 42, 
    6 => 42, 
    7 => 42, 
    8 => 42, 
    9 => 42 

); 

$user_id = 52; 

if(in_array($user_id,$arrayOfId)) 
{ 
    echo "Already exist"; 
} 
else 
{ 
    echo "Not exist"; 
} 

这工作得很好。我在代码中没有发现任何问题。检查$ arrayOfId是否是数组。

2

我建议为$user_id$share_id1变量做var_dump()。看起来你拼错了变量名。另一个选择是从JSON转换时你得到了一个对象而不是数组。

+0

With var_dump(); 请忽略未输入的数组值。值。 阵列(15){ [0] => 串(3) “45” [1] => 串(3) “41” [2] => 串(3) “33” [3] => 串(3) “42” [4] => 串(3) “42” [5] => 串(3) “33” [6] => 串(3) “42” [7] => 串(3) “42” [8] => 串(3) “42” [9] => 串(3) “42” [10] => 串(3) “42” [11] => 串(3) “42” [12] => 串(3) “42” [13] => 串( 3)“42” [14] => string(0)“” } – 2013-03-07 07:14:51

+0

谢谢。现在很明显什么是错的。你比较3个字符的字符串像'42'和字符串'42',它们是不相等的。请到$ user_id的var_dump()。这是一个字符串还是整数? – 2013-03-07 07:22:54

+0

嘿,Victor先生,根据用户的评论,我认为用户代码中存在引号或空格的问题。如果我认为是对的。 – 2013-03-07 07:23:58

1

请检查您的数组的值以及$ row ['user_id'],代码正常工作。

$array = array(45 ,41,33,42,42,42,42,42,42); 
$user_id = 42;//$row['user_id'];      
if(in_array($user_id,$array)){ 
    echo "It is coming"; 
} 
相关问题