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 關注
- 162 瀏覽
添加回答
舉報