ファイルをinclude
する前に言っておくッ!
おれは今return
が直書きされているファイルをほんのちょっぴりだが体験した
い…いや…体験したというよりはまったく理解を超えていたのだが……
あ…ありのまま 今 起こった事を話すぜ!
「おれはreturn
が直書きされているファイルをinclude
したと思ったらそいつを変数に代入できた」
な…何を言っているのかわからねーと思うがおれも何をされたのかわからなかった…
頭がどうにかなりそうだった…グローバル変数だとかサーバ変数だとかそんなチャチなもんじゃあ断じてねえ
もっと恐ろしいものの片鱗を味わったぜ…
ふと疑問に思ったのですが、何と呼んだら良いのか分からなかったのでメモ。
まずは以下のサンプルコードをご覧ください。
hoge.php
<?php
return [
'hieda' => array('toneri', 'sarume', 'kojiki'),
'oho' => 'yasumaro',
'fujiwara' => 'fuhito',
];
このように、PHPファイル内で直に
return
で値を返すコードがあるとします。
これを
fuga.php
<?php
include('./hoge.php');
このように別ファイルで読み込んだ場合、
hoge.php
の値は取得できるのか、と。
結果
<?php
$hoge = include('./hoge.php');
var_dump($hoge);
/DIRECTORY/TO/ROOT/fuga.php:4:
array (size=3)
'hieda' =>
array (size=3)
0 => string 'toneri' (length=6)
1 => string 'sarume' (length=6)
2 => string 'kojiki' (length=6)
'oho' => string 'yasumaro' (length=8)
'fujiwara' => string 'fuhito' (length=6)
……普通にできました。
検索した
「php return 直に include」等で検索したところ、php.netも引っかかりました。
参考