シャオバイは助けを求める

WBOY
WBOYオリジナル
2016-06-23 14:22:28926ブラウズ

現在独学でPHPを勉強中ですが、今日ちょっとした問題に遭遇しました
$a = 10
function add(){
$a = $a * 10;
echo $a;
これは何ですか? a ああ、10 でなければならないと思いますが、このコードスニペットしかありません。実行プロセスがわかりません
初心者なので、誰かが私を助けてくれることを願っています。

議論への返信(解決策)

実行してみればわかる

変数領域の問題

これ、、、、、、、、、、、、、、、、、

変数関数内はローカル変数です。また、関数内の$aは初期化されません。

$a=10;...ただし、関数 add の $a が未定義であるため、エラーが報告されます。 。 。実行プロセスは次のようになります。関数に遭遇すると、最初にスキップされ、関数に入った後、$a が未定義でエラーが報告され、その後 $ の値が実行されます。 a は 10 ($a の外側の値) です。 。 。

データ型を定義せずに PHP で直接使用することはできませんか? $a = 10; はグローバルに定義されていますが、メソッド内では使用できませんか?

この投稿は PhpNewnew によって最終編集されました: 2013-09-24 10:33:57

データ型を定義せずに php で直接使用することはできませんか? $a = 10; はグローバルに定義されていますが、メソッド内では使用できませんか?

変数が関数の外で定義されている場合、関数内で直接参照することはできません。

$a = 10;
{
return $a * 10;

$a = add($a)
echo $a;
//================
$ a = 10;
function add(){
global $a;
add();
echo $a;
PHP でデータ型を直接使用することはできませんか定義せずに? $a = 10; はグローバルに定義されていますが、メソッド内では使用できませんか? できない。 。パラメータ $a を渡しても、参照渡しではないため、外側のエコー $a は 10 のままです。
$a = 10;
$a = $a * 10;
add($ a);
echo $a;//値は渡されますが、変更されるのは関数内の$aのみで、関数外の$aは変更できません
//== ========= ==========
この場合 (パラメータの参照渡し) $a = 10;

function add(&$a){
$a = $a * 10;
}
add( $a);
echo $a;//は 100 です

投稿者はもっと頑張らなければなりません

勉強になりました、ご参加いただきありがとうございます、プログラマーは最もかわいい人々です

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。