0
我已经删除了少于2个字符的单词。第一个版本的工作:为什么我使用开关时功能不起作用?
function delLess2($array, $less){
$english = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
return preg_grep('~\A[^'.$english.']{'.$less.',}\z~u', $array);
}
使用功能:
$words = array("ӯ","ӯро","ӯт","ғариб","афтода","даст", "ра");
delLess($words, 3);
// Output
Array
(
[1] => ӯро
[3] => ғариб
[4] => афтода
[5] => даст
)
但这个更新版本不起作用:
function delLess(&$array, $less = 0, $lang = FALSE)
{
$english = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
$russian = "ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
define(ENGLISH, $english);
define(RUSSIAN, $russian);
switch ($lang)
{
case ENGLISH:
return preg_grep('~\A[^'.ENGLISH.']{'.$less.',}\z~u', $array);
break;
case RUSSIAN:
return preg_grep('~\A[^'.RUSSIAN.']{'.$less.',}\z~u', $array);
break;
default:
return false;
}
}
凡在代码中,我有一个错误?如何纠正?
你var_dumped'$ lang'? +'$ lang'的默认值不应该是布尔值,而是您的默认语言 –
您期望以$ lang的身份传递什么?你能举一个例子说明你如何调用这个更新后的代码。 –
检查我的答案 – delboy1978uk