$comedy = 'comedy, drama, thriller, action';
$array = array('action', 'fantasy', 'war', 'comedy', 'romance', 'drama', 'thriller');
我需要找到每个变量$comedy
中的关键词。
我需要:
3
5
6
0
谢谢!
答案 0 :(得分:3)
以下代码部分如何:
$comedy = 'comedy, drama, thriller, action';
$array = array('action', 'fantasy', 'war', 'comedy', 'romance', 'drama', 'thriller');
foreach (explode(', ', $comedy) as $word) {
$index = array_search($word, $array);
var_dump($index);
}
这给了我以下输出:
int 3
int 5
int 6
int 0
基本上:
$comedy
变量中的单词始终使用相同的模式', '
分隔,您可以使用explode()
来获取包含这些单词的数组。array_search()
即可获得$array
数组中的位置。答案 1 :(得分:1)
$comedy = 'comedy, drama, thriller, action';
$array = array('action', 'fantasy', 'war', 'comedy', 'romance', 'drama', 'thriller');
$tags = explode(', ', $comedy);
foreach ($tags as $tag)
{
echo array_search($tag, $array) . "\n";
}
这应该这样做。
答案 2 :(得分:0)
您可以轻松找到(并打印)您想要的每个索引:
foreach (explode(', ', $comedy) as $keyword) {
echo array_find($keyword, $array);
}
如果要将每个关键字与索引相关联,可以这样做:
$words = explode(', ', $comedy);
$indexes = array_map(
$words,
function($word) use ($array) { return array_find($keyword, $array); }
$assoc = array_combine($words, $indexes);
print_r($assoc);
对于匿名函数,上面要求PHP> = 5.3。
答案 3 :(得分:0)
为什么喜剧只是一个字符串?
我也会把喜剧作为一个数组,然后制作一个循环,根据数组中的每个值检查喜剧中的每个值。