Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的Change-case_Php_String_Case - Fatal编程技术网

php中的Change-case

php中的Change-case,php,string,case,Php,String,Case,我想检查用户输入的字符是小写还是大写。 如果是小写,我想改成大写。 如果是大写,我想换成小写 <?php $string=$_POST['string']; $arr=str_split($string); $arrlen=strlen($string); $arrcaps=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"

我想检查用户输入的字符是小写还是大写。 如果是小写,我想改成大写。 如果是大写,我想换成小写

<?php
$string=$_POST['string'];
$arr=str_split($string);
$arrlen=strlen($string);
$arrcaps=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ");
$arrsmall=array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"," ");   
//print_r($arrsmall);

for($i=0;$i<$arrlen;$i++)
{
for($j=0;$j<27;$j++)
{
if($arr[$i]==$arrcaps[$j])
{
echo $arrsmall[$j];
}
}
for($k=0;$k<27;$k++)
{
if($arr[$i]==$arrsmall[$j])
{
echo $arrcaps[$j];
}
}
}
?>

我执行上面的程序。它将大写字符改为小写。 但它不会将小写字符改为大写

我犯错误的地方。解决这个问题

提前感谢…

使用

bool ctype_upper($string) — Check for uppercase character(s)

if ( ctype_upper($letter) )
{
   strtolower($letter);
}
else
{
   strtolower($letter);
}
if($arr[$i]==$arrsmall[$j])
{
echo$arrcaps[$j];
}

应该是

if($arr[$i]==$arrsmall[$k])
{
echo$arrcaps[$k];
}


已解决大小写问题

如果只能使用小写或大写:

$result = (strcmp(strtoupper($string),$string))?strtoupper($string):strtolower($string);
这可以用作以下功能:

echo changecase('a');//A
echo changecase('A');//a

function changecase($str){
  return strtolower($str)^strtoupper($str)^$str;
}

您希望所有的章程都改为大写/小写?给出一个你想要的缩进代码的例子会很好。你可以使用php函数strtolower和strtoupper。但是在这个程序中,我想检查每个字符。如果我使用strtolower或strtoupper函数,我如何检查每个字符的大小写?也许可以使用,而不是这个循环集合这也是一个很酷的想法…重复@ironcito的答案我认为同样的,这是解决我的问题的最好方法…非常感谢。。。它很管用…谢谢你这个酷主意…谢谢你的解决方案。。。
echo changecase('a');//A
echo changecase('A');//a

function changecase($str){
  return strtolower($str)^strtoupper($str)^$str;
}
<?php
$string=$_POST['string'];
print strtolower($str) ^ strtoupper($str) ^ $str;
$word = "AlPhAbEtIcIsE";
$word = strtr(
    $word,
    array_combine(
        array_merge(range('A','Z'),range('a','z')),
        array_merge(range('a','z'),range('A','Z'))
    )
);
var_dump($word);