Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组搜索问题_Php_Arrays_Search_Key - Fatal编程技术网

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);
这应该可以做到

这应该可以做到