php(Laravel零)中如何将字符串转换为大小写交替?
How to converts the string to alternate upper and lower case in php (Laravel Zero)?
我正在研究 Laravel 零并创建了新命令,该命令将以大写和小写形式显示用户输入。
有没有办法同时显示输出的大小写交替?
命令如下:
class UppercaseCommand extends Command
{
/**
* The signature of the command.
*
* @var string
*/
protected $signature = 'converts';
/**
* The description of the command.
*
* @var string
*/
protected $description = 'Converts the string to uppercase, lowercase, and alternate';
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$a = readline('Enter a string: ');
echo "Output in uppercase: " , strtoupper($a). PHP_EOL;
echo "Output in lowercase: " , strtolower($a);
}
/**
* Define the command's schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
public function schedule(Schedule $schedule): void
{
// $schedule->command(static::class)->everyMinute();
}
}
那么我如何添加新行来显示输入,例如:“hElLo wOrLd”?
您可以在 laravel 中使用此 库
这是理解这个的例子
使用起来很简单
$lower=Illuminate\Support\Str::lower($value);
$upper=Illuminate\Support\Str::upper($value);
答案:
$chars = str_split($a);
foreach($chars as $char){
if ($UpperLowerSwitch){
echo strtolower($char);
$UpperLowerSwitch = false;
}else {
echo strtoupper($char);
$UpperLowerSwitch = true;
}
}
输出(如果用户插入“hello world”):
hElLo wOrLd
如果你想要一个更短的版本,你可以使用下面的代码:
$str = "stack overflow";
$arr = str_split($str);
$result = join(array_map(function($char, $i) {
return $i % 2 ? strtoupper($char) : strtolower($char);
}, $arr, array_keys($arr)));
// Result: "sTaCk oVeRfLoW"
这里使用字符数组的索引(i % 2
是不均匀索引)来改变大小写。
将它包装到一个名为 unreadableCapitalization($str)
的漂亮函数中并完成它:)
我正在研究 Laravel 零并创建了新命令,该命令将以大写和小写形式显示用户输入。
有没有办法同时显示输出的大小写交替?
命令如下:
class UppercaseCommand extends Command
{
/**
* The signature of the command.
*
* @var string
*/
protected $signature = 'converts';
/**
* The description of the command.
*
* @var string
*/
protected $description = 'Converts the string to uppercase, lowercase, and alternate';
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$a = readline('Enter a string: ');
echo "Output in uppercase: " , strtoupper($a). PHP_EOL;
echo "Output in lowercase: " , strtolower($a);
}
/**
* Define the command's schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
public function schedule(Schedule $schedule): void
{
// $schedule->command(static::class)->everyMinute();
}
}
那么我如何添加新行来显示输入,例如:“hElLo wOrLd”?
您可以在 laravel 中使用此 库 这是理解这个的例子
使用起来很简单
$lower=Illuminate\Support\Str::lower($value);
$upper=Illuminate\Support\Str::upper($value);
答案:
$chars = str_split($a);
foreach($chars as $char){
if ($UpperLowerSwitch){
echo strtolower($char);
$UpperLowerSwitch = false;
}else {
echo strtoupper($char);
$UpperLowerSwitch = true;
}
}
输出(如果用户插入“hello world”):
hElLo wOrLd
如果你想要一个更短的版本,你可以使用下面的代码:
$str = "stack overflow";
$arr = str_split($str);
$result = join(array_map(function($char, $i) {
return $i % 2 ? strtoupper($char) : strtolower($char);
}, $arr, array_keys($arr)));
// Result: "sTaCk oVeRfLoW"
这里使用字符数组的索引(i % 2
是不均匀索引)来改变大小写。
将它包装到一个名为 unreadableCapitalization($str)
的漂亮函数中并完成它:)