/ / PHP配列の中の「グローバル変数」はどうすればいいですか。 - php、配列、グローバル変数

PHPどのように配列内の "グローバル変数"ですか? - PHP、配列、グローバル変数

グローバル変数は "私の関数で読むことはできません。誰かが下の私のコードで何が悪いのか知っていますか?" 私を助けてください。

<?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;

私はそれが助けて欲しい