各 PHP
エラー メッセージ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;
この方法で終了できます