我想返回数组的索引。我正在尝试以下内容,但它不起作用:
$os = array("Helo how are you","I am you");
foreach ($os as $oss) {
if(strpos($oss, 'you') !== false) {
$reference= array_search('you', $oss);
echo $reference;
}
}
我希望引用echo 0,1。鉴于我正在搜索单词'you'并且它出现在0,1中。数组是否搜索单个字符串?如何搜索整个子字符串?
答案 0 :(得分:3)
array_search()
在这里不起作用,因为它无法搜索部分匹配。相反,您可以使用以下方法:如果strpos()
语句的计算结果为true,则只显示该迭代的索引:
foreach ($os as $reference => $oss)
{
if(strpos($oss, 'you') !== false) {
echo $reference, PHP_EOL;
}
}
输出:
0
1
答案 1 :(得分:-2)
尝试将foreach循环更改为:
foreach ($os as $index => $oss)
{
if(strpos($oss, 'you') !== false) {
$reference= array_search('you', $oss);
echo $index;
}
}