我有两个数组:$all_languages
and $taken_languages
。第一个包含所有语言(例如 200 种或其他语言),第二个包含之前选择的语言(从 0 到 200 种)。
我需要删除所有已采用的语言($taken_languages
) from $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;
}
谢谢指教!
PHP 为此有一个内置函数(以及几乎所有其他内容:P)
$available_languages = array_diff($all_languages, $taken_languages);
PHP 手册 (array_diff) http://php.net/manual/en/function.array-diff.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)