質問: 関数から呼び出される別の関数でも同じ配列を使うには 配列をグローバル変数化して、使おうとしています。 php $strmoji=array("a","b","c","d","e","f","g","h","i"); $result=fun_disp(2); function fun_disp($i){ global $strmoji; echo $strmoji[$i]; return true; } ? とすれば、$strmoji[$i];には、c が入っていると表示されました。 ところが、 php $result=fun_example(8); function fun_example($j){ echo $j; $strmoji=array("a","b","c","d","e","f","g","h","i"); $result=fun_disp(2); } function fun_disp($i){ global $strmoji; echo $strmoji[$i]; return true; } ? とすると、$strmoji[$i]; が表示されなくなりました。 やりたいことは、「ある関数内で使っている配列を、その中から呼び出される 別の関数でも使いたい」ということです。 しかし、方法が分からないでいます。どのように書けばいいのでしょうか? ※関数に、2を投げたり8を投げたりしていますが、この値は適当です。
回答: グローバルをつかうならこう php $result=fun_example(8); function fun_example($j){ echo $j; global $strmoji; $strmoji=array("a","b","c","d","e","f","g","h","i"); $result=fun_disp(2); } function fun_disp($i){ global $strmoji; echo $strmoji[$i]; return true; } ? ただしグローバルは最後の手段、引数で渡すのが普通