![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
リストの配列の一部を、別のところから読み込もうとしたら、NULLになってしまい、うまくいきません。どう書けばよいでしょうか?
<現状>
function xList(){
$list = array(
"x1" => array(
1 => "有",
2 => "無",
),
"x2" => array(
0 => "PHP",
1 => "Ruby",
5 => "Python",
),
となっている、x2の中身を、別から読み込みたいのですが…
$x_master = array(
0 => "PHP",
1 => "Ruby",
5 => "Python",
);
function xList(){
$list = array(
"x1" => array(
1 => "有",
2 => "無",
),
"x2" => $x_master,
これで、var_dump($list);すると、x2の中がNULLになります…
No.1ベストアンサー
- 回答日時:
PHP variable scope
http://php.net/manual/en/language.variables.scop …
によれば、関数xList()内で参照されている$x_masterはローカル変数であって、グローバル変数ではないため、
以下のコードは何も出力しない。
http://ideone.com/rBXAm
一方以下のコードは出力する。
http://ideone.com/5fvXv
だからこうすると、質問者の言うとおり、NULLになる。
http://ideone.com/18MnT
一方でこうすると、ちゃんと値が入る。
http://ideone.com/66IpM
ただ、個人的にあまりグローバル変数って使いたくなくて、出来るだけ、ローカル変数で出来るように出来ないかをいつも考える。
http://ideone.com/hWCjH
ではなく、
http://ideone.com/pf6DB
って感じでね。
詳しいコード&丁寧な解説をいただき、ありがとうございました!
てっきり、リストだから、何かそれ用の書き方とかルールがあるのかな?
と思って質問してみたのですが、
全然そうではなくて、スコープ範囲の問題だということが分かりました。
また、なるべくグローバル変数ではなくて、
引数を渡して、ローカル変数で、というアドバイスも
よく理解できました。
勉強になりましたー。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- その他(プログラミング・Web制作) listへのappendが出来ない件 1 2022/12/06 21:44
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- Visual Basic(VBA) VBAのフィルター操作 5 2023/08/08 09:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Delphiで別unitで宣言した「TAr...
-
連想配列で値が空だったら、要...
-
am()の使い方
-
配列の要素(value)に、変数を...
-
2つの連想配列を比較して一致す...
-
MYSQLとPHPによって取得する多...
-
CArrayの要素としてCStringArra...
-
C言語の配列をPush(追加)する...
-
読み(あ行~わ行)ごとに分け...
-
配列間の差異
-
PHPからCSVをアップロード後、m...
-
foreachのなかで次のキーを参照...
-
VB.NET で 二次元のハッシュは...
-
PHPにてクラスを配列にすること...
-
ネストが深い時のforeachはどう...
-
複数行のデータのPOST処理に関して
-
PHPでサーバー上の書き換えたht...
-
重複確認
-
別ファイルの構造体の値を読み...
-
プルダウンメニューにDBの内容...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングのPythonのnoteb...
-
C言語の配列をPush(追加)する...
-
php で1から100までの素数の表...
-
STLのvectorで作った配列をメン...
-
スカラーのベクトル微分
-
行列
-
Perlで重複行を削除したい
-
配列の要素(value)に、変数を...
-
特定の文からメールアドレスの...
-
forとかで連番の変数を一気に格...
-
C言語 最大値と最小値を求めて...
-
CArrayの要素としてCStringArra...
-
PHPでユニークIDを作る
-
fgetc関数について
-
読み(あ行~わ行)ごとに分け...
-
Pager::factory()の使い方がわ...
-
verilogで、配列の一部をタスク...
-
mallocで char *型の配列を確...
-
c言語 単位行列
-
連想配列で値が空だったら、要...
おすすめ情報