2010-08-14 33 views
3
$haystack = 'I am a haystack. Hear me rawr.'; 
$pos = strlen($haystack); 
$nlen = 1; 

$needle = array('.', '. '); 

print_r(in_array(substr($haystack, $pos, $nlen), $needle, true)); 

我很难弄清楚为什么这是失败的。我试图看看一堆针是否与从干草堆中选择的结果相匹配?我怎样才能返回值为布尔值?我可以在in_array()中使用substr()作为针吗?

+0

根据文档,in_array搜索数组/干草堆中的字符串/针。 你正在尝试一个针头/数组,看起来不对我。参数顺序在概念上是错误的。 – LatinSuD 2010-08-14 13:15:43

+0

你可以有一个阵列作为针和字符串作为干草堆很好。 – NullUserException 2010-08-14 13:19:01

回答

3

是& NO因为substr返回这是你的情况针,失败在这种情况下,它不会是in_array功能有效参数FALSE

你应该先使用提取字符串substr的一部分,并需要确保你提取一些字符串,它未返回FALSE,只有这样,你应该在in_array使用它。

相关问题