Php 返回错误结果的strps()

Php 返回错误结果的strps(),php,strpos,Php,Strpos,我的问题是数组5中有两个数字,12我的问题是下面的代码返回“1”为真,因为数字12中的“1”-它在12中看到数字1。我如何告诉它读取整个数字 <?php $pos = strpos($foo,"1"); if($pos === false) { // do this if its false echo "<img src='../PICS/no.png' width='20' height='20' />"; } else { echo "<

我的问题是数组5中有两个数字,12我的问题是下面的代码返回“1”为真,因为数字12中的“1”-它在12中看到数字1。我如何告诉它读取整个数字

<?php 
$pos = strpos($foo,"1");

if($pos === false) {
    // do this if its false
    echo "<img src='../PICS/no.png' width='20' height='20' />"; 
}
else {
    echo "<img src='../PICS/yes.png' width='20' height='20' />"; 
} 
?>

使用

if (in_array(1,$myarray)){
    // found in the array
}

以下是您正在使用的函数的签名:

int-strpos(string$haystack,mixed$pinder[,int$offset=0])

如果将数组作为第一个参数提供给它

<?php
$foo = array(5,12);
$pos = strpos($foo,"1");

你对
1
的搜索总是会失败,因为
Array
不包含它。

那么$foo是一个数字数组吗?strpos()是字符串,而不是数字或数组。如果(在数组中(“1”,$foo)){工作,如果你检查数组中的值,在数组中使用();
var_dump( @(string)array(5,12) ); // string(5) "Array"