daG*_*vis 5 php arrays loops filter array-filter
我有两个数组:$all_languages和$taken_languages.一个包含所有语言(如200或者其他),但是之前选择的第二语言(从0到200).
我需要删除所有已经采取的语言($taken_languages)$all_languages并返回新数组 - $available_languages.
我的解决方案是两个循环,但是,首先,它没有按预期工作,第二 - 它"不酷",我相信有更好的解决方案!你能指出我正确的道路吗?
这就是我之前所做的,但是,正如我所说,它没有按预期工作......
if (!empty($taken_languages)) {
foreach ($all_languages as $language) {
foreach ($taken_languages as $taken_language) {
if ($taken_language != $language) {
$available_languages[] = $language;
break;
}
}
}
} else {
$available_languages = $all_languages;
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议!
Pau*_*aul 10
PHP具有内置函数(以及其他所有内容:P)
$available_languages = array_diff($all_languages, $taken_languages);
Run Code Online (Sandbox Code Playgroud)