PHP 次のプログラムを実行した結果を答えなさい

<?php
$str1 = "abcdefg";
$str2 = "0123456";

$re1 = substr($str1,0,5);
$re2 = substr($str2,-3,2);

echo $re2. $re1;
?>

答え

45abcde

解説

①以下によって$re1に、文字列が代入された「$str1」の中の先頭から0番目の「5」byteである”abcde”が代入される

$re1 = substr($str1,0,5); →「abcde」

②以下によって$re2に、文字列が代入された「$str2」の中の後から3番目の「2」byteである”45”が代入される

$re2 = substr($str1,-3,2); →「45」

③以下で出力する ※$re1と$re2の出力順番を間違えないように注意する

echo $re2. $re1;

この問題のキモ

  • substr()関数で、第2引数の「ー」によって文字列の後から取り出すようになる
  • substr()関数で、第3引数の指示によって取り出す文字数を正しく把握する
  • echoされる順番を確認する
タイトルとURLをコピーしました