Php 数组搜索问题
我需要从每个变量中找到关键字Php 数组搜索问题,php,arrays,search,key,Php,Arrays,Search,Key,我需要从每个变量中找到关键字$comic 我需要: $comedy = 'comedy, drama, thriller, action'; $array = array('action', 'fantasy', 'war', 'comedy', 'romance', 'drama', 'thriller'); 谢谢大家! 下面的代码部分如何: 3 5 6 0 这给了我以下输出: $comedy = 'comedy, drama, thriller, action'; $array = a
$comic
我需要:
$comedy = 'comedy, drama, thriller, action';
$array = array('action', 'fantasy', 'war', 'comedy', 'romance', 'drama', 'thriller');
谢谢大家! 下面的代码部分如何:
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);
}
基本上:
- 由于
变量中的单词始终由相同的模式$committee
分隔,因此可以使用获取包含这些单词的数组'、'
- 然后,对这些单词进行迭代,您只需调用以获取它们在
数组中的位置$array
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);
}
基本上:
- 由于
变量中的单词始终由相同的模式$committee
分隔,因此可以使用获取包含这些单词的数组'、'
- 然后,对这些单词进行迭代,您只需调用以获取它们在
数组中的位置$array
int 3
int 5
int 6
int 0
如果要将每个关键字与索引关联,可以通过以下方式进行:
foreach (explode(', ', $comedy) as $keyword) {
echo array_find($keyword, $array);
}
以上要求匿名函数的PHP>=5.3。您可以轻松找到(并打印)所需的每个索引:
int 3
int 5
int 6
int 0
如果要将每个关键字与索引关联,可以通过以下方式进行:
foreach (explode(', ', $comedy) as $keyword) {
echo array_find($keyword, $array);
}
以上要求匿名函数的PHP>=5.3。为什么喜剧只是一个字符串
我会让喜剧也成为一个数组,然后循环检查喜剧中的每个值和数组中的每个值。为什么喜剧只是一个字符串
$words = explode(', ', $comedy);
$indexes = array_map(
$words,
function($word) use ($array) { return array_find($keyword, $array); }
$assoc = array_combine($words, $indexes);
print_r($assoc);
我会让喜剧也成为一个数组,然后做一个循环,检查喜剧中的每个值和数组中的每个值
$words = explode(', ', $comedy);
$indexes = array_map(
$words,
function($word) use ($array) { return array_find($keyword, $array); }
$assoc = array_combine($words, $indexes);
print_r($assoc);
这应该可以做到
这应该可以做到