in_array的问题

时间:2012-08-13 20:05:58

标签: php arrays

我有以下相当简单的代码,我需要确定数组中是否存在某个值:

$testvalue = $_GET['testvalue']; // 4
$list = '3, 4, 5';
$array = array($list);

if (in_array($testvalue, $array)) { // Code if found } else { // Code if not found }

即使数字4在数组中很明显,代码也会返回else支持中的代码。我做错了什么?

3 个答案:

答案 0 :(得分:3)

$array这是:

$array = array('3, 4, 5');

与以下内容不同:

$array = array(3, 4, 5);

所以,修复你创建这个数组的方式..不要用字符串来做。

答案 1 :(得分:3)

更改第三行:

$array = array_map('trim', explode(',',$list));

答案 2 :(得分:2)

您的数组只包含一个值,即字符串3, 4, 5

请参阅CodePad上的示例。

如果要在数组中转换字符串,可以使用:

$array = explode(', ', $list);

我在逗号后面添加了一个空格,但更安全的方法是只使用逗号然后修剪所有值。