LoginSignup
0
0

More than 3 years have passed since last update.

関数をコールするときに記述した変数のスコープは?

Last updated at Posted at 2019-09-17

関数をコールするときにゴリゴリ変数を使ってを記述しているのを見て、ふとこの変数のスコープはなんだろうと思ったので確かめてみました。

<?php

function test($args1, $args2) {
    echo '第1引数の値は:' . $args1;
    echo '第2引数の値は:' . $args2;
}

test($max = 255, '最大文字数は' . $max . 'です。');

echo '関数の後の$maxは:' . $max;
実行結果
第1引数の値は255
第2引数の値は最大文字数は255です
関数の後の$maxは255

実行結果:3v4l

実行結果を見るとわかりますが、関数コール後も $max の値が存在します。
今回は名前空間を指定していないので、$max はグローバルスコープです。
スコープの扱いは下記と同じですね。

<?php

function test($args1, $args2) {
    echo '第1引数の値は:' . $args1;
    echo '第2引数の値は:' . $args2;
}

$max = 255;
$str = '最大文字数は' . $max . 'です。';

test($max, $str);

echo '関数の後の$maxは:' . $max;

確かめてみて、「よく考えたらそうだよね」という感想です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0