-1

apacheで実行するとコードが正常に機能するという問題が発生しましたが、CLIで実行すると、この変数$jobIDが表示されません。何かご意見は?

PS。グローバル変数を使用しないように教えてはいけません。

編集:

これは機能しません:

$jobID = mysql_insert_id();

function someFunction() {
     global $jobID;
     echo $jobID;
}

これは行います:

$jobID = mysql_insert_id();

function someFunction($jobID) {
     echo $jobID;
}

Register Globals の使用を修正:この機能は、PHP 5.3.0で非推奨になり、PHP5.4.0で削除されました。 http://php.net/manual/en/security.globals.php

4

3 に答える 3

5

This maybe:

 $GLOBALS['jobID'] = 12; 

//Thats the way to initialize the var...and in the function:

function someFunction() {
  echo $GLOBALS['jobID'];
}

someFunction(); //testing

Saludos ;)

于 2013-02-25T20:42:33.860 に答える
1

PHP は、引数を単純な変数に展開するのではなく、コマンド ライン引数を $argv 配列に格納します。この展開は、古いバージョンの PHP でよく使用される不適切な動作であるため、使用せず、代わりに $argv 配列を使用して引数にアクセスしてください。

于 2013-02-25T20:30:38.843 に答える
0

グローバルを使用しないでください。次の理由から、関数呼び出しで引数を渡してください。:変更:

function someFunction() {
     global $jobID;
     echo $jobID;
}

に:

function someFunction($arg1) {
     echo $arg1;
}
$anyvar = 'some value';
someFunction($anyvar);
于 2013-02-25T20:26:13.623 に答える