グローバル変数は "私の関数で読むことはできません。誰かが下の私のコードで何が悪いのか知っていますか?" 私を助けてください。
<?php
global $a = array(2,3,4);
global $b = array(3,5,6);
function test(){
$y = $a[0]*$b[0];
return $y;
}
test();
?>
回答:
回答№1は1<?php
$a = array(2,3,4);
$b = array(3,5,6);
function test(){
GLOBAL $a;
GLOBAL $b;
$y = $a[0]*$b[0];
return $y;
}
test();
?>
回答№2の場合は1
あなたはグローバル変数に関していくらかの誤解があるようです。
変数をグローバル変数として宣言しないでください。代わりに、使用したい変数を使用したいことをphpに伝えてください。
だからあなたのコードはなります
<?php
$a = array(2,3,4);
$b = array(3,5,6);
function test()
{
global $a, $b;
$y = $a[0]*$b[0];
// or you can use $GLOBAL["a"][0] * $GLOBAL["b"][0]
return $y;
}
echo test();
?>
今このコードであなたは変数を使うと言っています $a
そして $b
機能の範囲外で定義されています。
それがあなたのお役に立てばと思います。
回答№3の場合は0
使用 global
スコープに変数を含めるためのキーワード。
これが、あなたが提供したスニペットの外観です。
$a = array(2, 3, 4);
$b = array(3, 5, 6);
function test() {
// include $a and $b in the scope of this function.
global $a, $b;
$y = $a[0] * $b[0];
return $y;
}
上記のドキュメントリンクにアクセスして、 global
キーワード。
あなたはさらに使用することができます $GLOBALS
アクセスする配列 a
そして b
.
$y = $GLOBALS["a"][0] * $GLOBALS["b"][0];
回答№4の場合は0
最初にグローバルを宣言しなければなりません。
global $a;
それからそれを配列にすることができます。
$a = array(2,3,4);
また、関数を使用している場合は、関数の外側ではなく、関数の内側でglobalを宣言してください。
<?php
$a = array(2,3,4);
$b = array(3,5,6);
$output = test($a,$b);
echo $output;
function test($array1,$array2)
{
$y = $array1[0]*$array2[0];
return $y;
}
?>
ここにあなたの説明があります。
function test($array1,$array2)
関数が呼び出されたときにこれらの場所に置かれた値はすべて、関数内で$ array1および$ array2として扱われると言っています。
そのため、これを呼び出すとtest($ a、$ b)となります。したがって、関数が実行されると$ array1 == $ a、および$ array2 == $ bとなります。
関数内では、変数$ aと$ bは基本的に$ array1と2になります。
戻り値により、関数呼び出しは基本的に関数の外部での戻り値と同等になります。
$output = test($a,$b);
言うようなものです:
$output = 6;
私はそれが助けて欲しい