ホームページ  >  記事  >  バックエンド開発  >  ヒーロー助けて、PHP エラー報告、オンラインで待ってください。 。 。 。 。 。

ヒーロー助けて、PHP エラー報告、オンラインで待ってください。 。 。 。 。 。

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

各 PHP

エラー メッセージ

警告: 参照による呼び出し渡しは非推奨になりました。呼び出し時を有効にしたい場合は、 each() の宣言を変更してください。 pass-by-reference では、INI ファイルの D:APMServ5.2.6wwwhtdocsbaseadminconfig.php の 23 行目で、allow_call_time_pass_reference を true に設定できます。

解析エラー: 構文エラー、予期しない '[' が D:APMServ5.2.6wwwhtdocsbaseadminconfig.php にあります23 行目

エラーロケーションコード
if ( $step == "modify" ){    $var = $_POST['var'];    do    {        $val = each( &$var )[1];//报错        $key = each( &$var )[0];//报错        if ( each( &$var ) )        {            $msql->query( "update {P}_base_config set value='{$val}' where variable='{$key}'" );        }    } while ( 1 );    sayok( $strConfigOk, "config.php", "" );}

ディスカッションへの返信 (解決策)

なぜこのように書くのか?
$val = each( &$var )[1];
$key = each( &$var )[0];
これは不可能ですか?
$val = each( $var )[1];
$key = each( $var )[0];
こう書けば良いのではないでしょうか?
list($key, $val) = each( $var );

なぜこのように書くのでしょうか?

$val = each( &$var )[1];
$key = each( &$var )[0];
これは不可能ですか?
$val = each( $var )[1];
$key = each( $var )[0];
こう書いた方が良いのではないでしょうか?
list($key, $val) = each( $var ); これが発生すると、環境はスタックします

それは意味がありません。

プログラムに問題があるからといってランダムに変更することはできません


each(&$var) が間違っている理由は、このように参照を渡すことができないためです。これは php 5.3 でのみ利用できる規則です
。そして、 each( $var )[0] は次のようになります この書き方は php 5.3 でのみ使用できます

php 5.3 の文法規則に従っているときに行き詰まった場合は、問題がどこにあるのかを考える必要があります

それ意味がありません!

プログラムに問題があるからといってランダムに変更することはできません


each(&$var) が間違っている理由は、このように参照を渡すことができないためです これは php 5.3 のみの規則です
そしてeach( $var )[0] は次のとおりです この書き方は php 5.3 でのみ使用できます

php 5.3 の文法規則に従っているときに行き詰まった場合は、問題がどこにあるのかを考える必要があります。これは、list( $key, $val) = each($var); のように変更するとスタックします

do while(1) には exit 文がありません。無限ループ、なぜ進まなくなるのでしょうか?

次に、 print_r($_POST['var']); 結果をポストします

while(1) 無限ループには exit ステートメントがありませんが、なぜスタックしないのでしょうか? ヒーローヘルプ、終了方法を開始しました

if (each( &$var) )

key}'" );

Break;

この方法で終了できます

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