宜しくお願いします。
関数A内で作成したローカル変数 「a」 を、
その関数A内で作った関数Bで、変数「a」を操作しようと思います。
簡単に書くとこうです。
function A(){
$a = array(あ、い、う);
function B(){
$a = array(い、う)
}
※$aを使っての処理
}
<試してみたこと>
関数B内で、global $a として、変数をグローバルにしましたが、関数Bの操作は反映されませんでした。
retun で戻せばよいとも、もちろん考えましたが、
処理の都合上、どうしてもグローバルに扱いたく思います。
とても、大雑把な質問形式で申しわけございませんが、何卒、ヒントを下さいませ。
No.1ベストアンサー
- 回答日時:
A()の中でもglobal設定してみては?
<?PHP
function A(){
global $a;
$a = array("あ","い","う");
function B(){
global $a;
$a = array("い","う");
}
B();
print_r($a);
}
A();
?>
ただ、グローバルで変数を受け渡すなんて常識的にはしませんけどね・・・
returnしたくなければリファンレンス渡しとかはどうでしょう?
<?PHP
function A(){
$a = array("あ","い","う");
function B(&$a){
$a = array("い","う");
}
B($a);
print_r($a);
}
A();
?>
この回答への補足
大変分かり易く有難うございます。なるほどリファンレンス渡しですね!
勉強になりました。
あと、恐れ入ります、
グローバルしない理由は、簡単にいうとなぜなのでしょうか?
グローバルの性質上、開発中に混乱を起こしてしまう危険があるからでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ユーザー関数の自動計算(excel2003) 1 2023/02/06 06:46
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Excel(エクセル) Excelのテーブルについて 6 2023/07/07 08:37
- Excel(エクセル) Excel関数の質問です。 5 2022/04/23 12:53
- Excel(エクセル) エクセルの関数について 5 2023/01/26 15:26
- 数学 参考文献の探し方(数学) 1 2022/07/19 01:09
- Excel(エクセル) DATE関数で指定する「日」のセルが関数の場合の対処法 5 2022/09/14 15:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
forとかで連番の変数を一気に格...
-
2つの連想配列を比較して一致す...
-
プログラミングのPythonのnoteb...
-
CArrayの要素としてCStringArra...
-
STLのvectorで作った配列をメン...
-
スカラーのベクトル微分
-
2次元配列CSVのソート
-
一度に複数の値を取得できる乱...
-
c言語 単位行列
-
np.stack()とnp.array()の違い
-
PHPでユニークIDを作る
-
配列から値を取得する方法。
-
fgetc関数について
-
配列の要素(value)に、変数を...
-
連想配列をループで作成するには
-
mallocで char *型の配列を確...
-
delphi 2次元配列がわかりません
-
PHPのセレクトボックスの初期値...
-
array_mapの再帰処理がうまく行...
-
変数の一致条件がたくさんある...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
特定の文からメールアドレスの...
-
CArrayの要素としてCStringArra...
-
C言語 最大値と最小値を求めて...
-
行列
-
読み(あ行~わ行)ごとに分け...
-
配列の要素(value)に、変数を...
-
C言語の配列をPush(追加)する...
-
STLのvectorで作った配列をメン...
-
【PHP】配列のキー名の修正は可...
-
php で1から100までの素数の表...
-
Perlで重複行を削除したい
-
fgetc関数について
-
CArrayのソート
-
ファイルの書き込みについて教...
-
配列の添え字が小数だとどうなる?
-
PHPのmin関数、「1」以上の数値...
-
forとかで連番の変数を一気に格...
-
delphi 2次元配列がわかりません
おすすめ情報