関数でグローバル変数を読み取ることができません。以下の私のコードの何が問題なのか知っている人はいますか? 私を助けてください。
<?php
global $a = array(2,3,4);
global $b = array(3,5,6);
function test(){
$y = $a[0]*$b[0];
return $y;
}
test();
?>
関数でグローバル変数を読み取ることができません。以下の私のコードの何が問題なのか知っている人はいますか? 私を助けてください。
<?php
global $a = array(2,3,4);
global $b = array(3,5,6);
function test(){
$y = $a[0]*$b[0];
return $y;
}
test();
?>
<?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();
?>
まず、グローバルを宣言する必要があります。
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;
それが役立つことを願っています。
キーワードを使用して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];