1. TOPTOP
  2. Webサービス
  3. PHP

substrを”.(ドット)”でできるのはなぜでしょうか?

|

ecoteki-image

PHPの組み込み関数であるsubstrについて質問があります。 ご存知の方がいらっしゃいましたらご教示願います。

質問の主旨

substrを”.(ドット)”で連結できるのはなぜでしょうか?

質問の補足

補足その1

下記のコードにおいて、$alp_b_shiftは型が”string”になります。

<?php

$alp_b = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

$alp_b_shift = substr($alp_b, 3).substr($alp_b, 0, 3);
$data = gettype($alp_b_shift);
echo $data;

?>

ただその前にsubstrという組み込み関数が2回使われています。 subtrは型として文字列を返すことになっていますが、 オブジェクトのプロパティやメソッドのように、”.(ドット)”で 連結できるのはなぜでしょうか?

補足その2

上記のコードはこの本を参考にしています。 →  いまどきのアルゴリズムを使いこなす PHPプログラミング開発テクニック(新しいタブで開く)

以上、よろしくお願い申し上げます。

追記

お友だちからアドバイスを受けて、この”.”は連結演算子だと言うことが分かりました。

function makeTable($shift) {
  alp_b = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  $alp_s = "abcdefghijklmnopqrstuvwxyz";
  $shift = $shift % strlen($alp_b);
  $alp_b_shift = substr($alp_b, $shift).substr($alp_b, 0, $shift);
  $alp_b_shift_2 = substr($alp_b, $shift);
  $alp_b_shift_3 = substr($alp_b, 0, $shift);
  // $alp_s_shift = substr($alp_b, $shift).substr($alp_b, 0, $shift);

  var_dump($alp_b_shift_2);
  var_dump($alp_b_shift_3);

}

makeTable(2);

このように$alp_b_shiftを分けて考えると分かりやすいです。なおGitHubにおいてもコードを公開しております。関係者のみなさまありがとうございました!

【参考ページ】

PHP: substr – Manual