Heim >Backend-Entwicklung >PHP-Tutorial >大侠求助,php报错,在线等。。。。。。

大侠求助,php报错,在线等。。。。。。

WBOY
WBOYOriginal
2016-06-23 14:16:49870Durchsuche

each PHP

错误信息

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of each(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in D:\APMServ5.2.6\www\htdocs\base\admin\config.php on line 23

Parse error: syntax error, unexpected '[' in D:\APMServ5.2.6\www\htdocs\base\admin\config.php on line 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 的语法规则就卡死,那你就要想想你的问题出在哪里了 哦,我的生产环境是php5.2.6的,这个按照list($key, $val) = each( $var );这样改就卡死了

do while(1) 无限循环没有退出的语句,为何会不卡?

那你 print_r($_POST['var']); 贴出结果

do while(1) 无限循环没有退出的语句,为何会不卡? 大侠求助,刚入门 如何退出

if ( each( &$var ) )
        {
            $msql->query( "update {P}_base_config set value='{$val}' where variable='{$key}'" );
break;
        }
这样就能退出了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php怎么搜索大数量的数据?Nächster Artikel:php新人求助