![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
php初心者です。
以下のように書きたいのですが出来なくて困っています。
他の関数からも$hogeを参照したいので関数testの中で宣言はしたくないです。
$hoge = 'ほげほげ';
function test() {
echo $hoge;
}
test();
いちいちこうしないとダメなんでしょうか?
$hoge = 'ほげほげ';
function test($hoge02) {
echo $hoge02;
}
test($hoge);
スマートな書き方を教えてください。
よろしくお願いしますm(_ _)m
No.1ベストアンサー
- 回答日時:
<回答>
これがスマートであるかはわかりませんが、引数で渡す以外に次のような方法があるみたいです。
・「グローバル変数群が詰まった、スーパーグローバルなハッシュ」から参照
・globalキーワードの使用
これを使って書いた見た限りはこんな感じです。
http://ideone.com/W84ap
<おまけ>
ただし、どの言語を使うにせよ、変数のスコープを極力狭める方向で慣れておいた方がいいんでは・・・と個人的には思います。
参考URL:http://php.net/manual/ja/language.variables.scop …
No.4
- 回答日時:
globalですねぇ…。
function test(){
global $hoge;
echo $hoge;
}
それか、まるごと関数にしてしまうとか。
function hoge(){
echo "ほげほげ";
}
function test(){
hoge();
}
test();
No.2
- 回答日時:
関数内からグローバル変数を読み書きする方法は2つあります。
関数内で global $変数名 とする方法と、$GLOBALS['変数名'] とする方法の2つです。
例えば、
$foo = 'foo';
$bar = 'bar';
test();
function test()
{
global $foo;
echo $foo;
echo $GLOBALS['bar'];
}
とすることで、希望通りグローバル変数 $foo, $bar の値が出力され、"foobar"が出力されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- C言語・C++・C# プログラミングのペーパーテスト 実行結果を表示せよ #include <stdio.h> int h 1 2022/07/09 15:27
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- HTML・CSS 全部のアクセスを指定したページに転送させたい 2 2022/06/28 16:33
- JavaScript JavaScriptで「〇以上▲まで」の書き方 1 2022/07/20 14:44
- C言語・C++・C# プログラミングのペーパーテスト 実行結果がどのように表示されるか答えよ #include <stdi 1 2022/07/09 14:27
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- その他(プログラミング・Web制作) pythonのcondaコマンドの仕様について 2 2022/06/24 00:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラーの理由が分りません。Pri...
-
VBA コレクションに2次元配列...
-
[CakePHP] Paginatorのリンクが変
-
PHPの変数値をリンクさせたい
-
VB.NETからVBAマクロ(引数)を呼...
-
fwriteで改行出来ない
-
classの再定義エラーについて
-
number_formatが勝手に四捨五入
-
issetで変数の存在をチェックし...
-
PHP3からPHP5にVerUpすると動作...
-
バッチファイルでpingの結果を...
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
【C#】DataGridViewの最大列数...
-
Yahoo! JAPAN IDを新規取得でき...
-
DTOとEntityの差は何ですか。
-
switch()文で値の大小比較
-
wordの差し込み印刷で文字...
-
ps3で久しぶりにCDの音楽情報取...
-
shシェルスクリプト 空白行の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
VB.NETからVBAマクロ(引数)を呼...
-
classの再定義エラーについて
-
VB6のコンボボックスのテキスト...
-
可変変数にアロー演算子を使いたい
-
PHPでの画像の形式の変換
-
VB.NETSystem.Xml 要素数を得る...
-
protectedなのにアクセスできな...
-
issetで変数の存在をチェックし...
-
vb作成したらでbeep音が鳴りま...
-
どういうプログラムを関数化を...
-
PHPの名前空間インポートについて
-
エラーの理由が分りません。Pri...
-
関数から関数を呼び出したとき...
-
PHP、ヒアドキュメント内でのIF...
-
protectedなのにアクセスできな...
-
PHPの変数値をリンクさせたい
-
関数の動きと記述方法の意味を...
-
htmlで変数の表示
-
アロー演算子について
おすすめ情報