タグ: programming
PHP マルチバイト文字列
<?php
$input = ‘ こんにちは ‘;
$input = trim($input);
echo mb_strlen($input) . PHP_EOL; //5
echo mb_strpos($input, ‘に’) . PHP_EOL; //2
$input = str_replace(‘にち’, ‘ばん’, $input); //こんばんは
echo $input . PHP_EOL;
PHP sprintf
<?php
$name = ‘Apple’;
$score = 32.246;
//$info = “[$name][$score]”;
//echo $info . PHP_EOL;
//$info = sprintf(“[%15s][%10.2f]”, $name, $score);
//echo $info . PHP_EOL;
//$info = sprintf(“[%-15s][%10.2f]”, $name, $score);
//echo $info . PHP_EOL;
printf(“[%-15s][%10.2f]” . PHP_EOL, $name, $score);
PHP 複数の返り値
<?php
function getStats(…$numbers)
{
$total = 0;
foreach ($numbers as $number) {
$total += $number;
}
return [$total, $total / count($numbers)];
}
//print_r(getStats(1,3,5));
//list($sum, $average) = getStats(1,3,5);
[$sum, $average] = getStats(1,3,5);
echo $sum . PHP_EOL;
echo $average .PHP_EOL;
PHP 可変長引数
<?php
//function sum($a, $b, $c)
function sum(…$numbers)
{
//return $a + $b + $c;
$total = 0;
foreach($numbers as $number){
$total += $number;
}
return $total;
}
echo sum(1,3,5) . PHP_EOL;
echo sum(4,2,5,1) . PHP_EOL;
PHP 配列の要素
<?php
$moreScores = [
55,
72,
‘perfect’,
[90, 42,88],
];
$scores = [
90,
40,
…$moreScores,
100,
];
//print_r($scores);
echo $scores[5][2] . PHP_EOL;
PHP foreach
<?php
$scores = [
‘first’ => 90,
‘second’ => 40,
‘third’ => 100,
];
//foreach($scores as $value){
//foreach($scores as $score){
// echo $score . PHP_EOL;
//}
foreach($scores as $key => $score){
echo $key .’ – ‘. $score . PHP_EOL;
}
PHP 配列
<?php
//$score1 = 90;
//$score2 = 40;
//$score3 = 100;
$scores = [
90,
40,
100
];
$scores[1] = 60;
echo $scores[1] . PHP_EOL;
PHP 引数の型
<?php
declare(strict_types=1);
function showInfo(string $name, int $score): void
{
echo $name . ‘: ‘ . $score . PHP_EOL;
}
//showInfo(‘chodome’, 40);
//showInfo(‘chodome’, ‘gamegank’);
showInfo(‘chodome’, ‘4’);
PHP 条件演算子
<?php
function sum($a, $b, $c)
{
$total = $a + $b + $c;
//if($total < 0){
// return 0;
// }else{
// return $total;
// }
return $total < 0 ? 0 : $total;
}
echo sum(100,300,500) . PHP_EOL; //900
echo sum(-1000,300,500) . PHP_EOL; //0