如何返回具有不同大小写组合的多个变量| PHP
好的,我会尽量使这件事尽可能简单 我有一个脚本可以在文件中搜索变量如何返回具有不同大小写组合的多个变量| PHP,php,function,capitalization,Php,Function,Capitalization,好的,我会尽量使这件事尽可能简单 我有一个脚本可以在文件中搜索变量$search。 变量$search是用户输入的前两个字母,$user 我想做的是找出$search的两个字母的大小写,然后从这些信息中生成更多的变量 基本布局思想如下: $cap1 = /*the capitalization of $search[0]*/; $cap2 = /*the capitalization of $search[1]*/; if (/*capitalization of $cap1 is UPPER
$search
。
变量$search
是用户输入的前两个字母,$user
我想做的是找出$search
的两个字母的大小写,然后从这些信息中生成更多的变量
基本布局思想如下:
$cap1 = /*the capitalization of $search[0]*/;
$cap2 = /*the capitalization of $search[1]*/;
if (/*capitalization of $cap1 is UPPERCASE*/){
$uncap1 = /*LOWERCASE capitalization of $cap1*/;
} else if (/*capitalization of $cap1 is LOWERCASE*/){
$uncap1 = /*LOWERCASE capitalization of $cap1*/;
}
if (/*capitalization of $cap2 is UPPERCASE*/){
$uncap2 = /*LOWERCASE capitalization of $cap2*/;
} else if (/*capitalization of $cap2 is LOWERCASE*/){
$uncap2 = /*LOWERCASE capitalization of $cap2*/;
}
echo "Original phrase:" . $search . "\n";
echo "New phrase:" . $uncap1 . $uncap2 . "\n";
我想知道如何反向资本化。(我也想知道多行注释是否可以在一行中使用)
我曾考虑只使用str_replace函数,但我懒得把字母表打4次
任何帮助都将不胜感激。:) 使用一些字符串函数,可以实现您似乎需要的功能。我尽量不使用正则表达式,因为字符串函数本身(通常)更有效。在这种情况下,我使用
str_split()
将字符串转换为数组,并使用strtrtr()
(字符串转换)转换大小写。翻译时使用带有26个字母的副本的两个变量$lcase
和$ucase
下面的函数应该做您需要做的事情,从您的问题的声音来看,您希望反转字符串的大小写。请注意,这也适用于两个以上字符的字符串
function translateCase($str)
{
$lcase = "abcdefghijklmnopqrstuvwxyz";
$ucase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$rebuilt = "";
foreach(str_split($str) as $char) {
if(strstr($lcase, $char)) {
$rebuilt .= strtr($char, $lcase, $ucase);
} else {
$rebuilt .= strtr($char, $ucase, $lcase);
}
}
return $rebuilt;
}
将函数与示例一起使用
var_dump(translateCase("AA"));
var_dump(translateCase("bb"));
var_dump(translateCase("Jw"));
var_dump(translateCase("rV"));
…将产生以下结果:
string(2) "aa"
string(2) "BB"
string(2) "jW"
string(2) "Rv"
希望有帮助 但是:我看到很多
NULL
s。救命啊!六羟甲基三聚氰胺六甲醚。。。我用echo
替换了var\u dump
,NULL
s消失了。我想知道为什么?@AlfredPersonMc这很奇怪,使用echo
或var\u dump()
为我生成了类似的字符串结果。