我可以在in_array()中使用substr()作为指针吗?

时间:2010-08-14 12:02:18

标签: php

$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));

我无法弄清楚为什么会失败。我试图看看一排针是否符合从干草堆中选择的结果?如何将该值作为布尔值返回?

1 个答案:

答案 0 :(得分:4)

是&否 ,因为substr会返回 字符串 ,这是您的情况下的针脚, FALSE 失败,在这种情况下,它不是in_array函数的有效参数。

您应该首先使用substr提取字符串的一部分,并且需要确保提取了一些字符串并且它没有返回FALSE,只有这样才能在in_array中使用它