$comedy = 'comedy, drama, thriller, action';
$array = array('action', 'fantasy', 'war', 'comedy', 'romance', 'drama', 'thriller');
我需要从每个变量$comedy
中找到关键字。阵列搜索问题
我需要:
3
5
6
0
谢谢!
$comedy = 'comedy, drama, thriller, action';
$array = array('action', 'fantasy', 'war', 'comedy', 'romance', 'drama', 'thriller');
我需要从每个变量$comedy
中找到关键字。阵列搜索问题
我需要:
3
5
6
0
谢谢!
怎么样的代码如下部分:这给了我下面的输出
$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
阵列中获得它们的位置。你可以找到(打印)各指标的你想轻松:
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的匿名函数。
为什么喜剧只是一个字符串?
我只会制作一个喜剧数组,然后做一个循环来检查喜剧中的每个值与数组中的每个值。
$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";
}
这应该这样做。