2 回答

TA贡献1789条经验 获得超10个赞
$inputs不是一个字符串数组,它是一个二维数组,所以你不能用in_array()它来搜索它。
您可以使用array_column()创建所有艺术家的数组,并进行搜索。
您不能用于in_array()搜索,因为它完全匹配。遍历它并调用strstr()以测试当前艺术家是否是子字符串。
$artists = array_column($input, 'artist');
foreach ($input as $inputs) {
$time = $inputs['time'];
$artist = $inputs['artist'];
foreach ($artists as $index => $a) {
if (strstr($a, $artist)) {
echo "$artist is in $index";
break;
}
}
}

TA贡献1828条经验 获得超4个赞
你可以试试
function findIndexesByArtist($array, $name) {
return array_keys(array_filter($array, function($item) {
return (strpos($item['artist'], $name) !== false);
}));
}
- 2 回答
- 0 关注
- 159 浏览
添加回答
举报