English 中文(简体)
只有变量才能通过参考通过
原标题:Only variables can be passed by reference

我怀着使用错误的手稿的光明想法,这给我留下了一点点。

遵循守则(随行不出错手): Fatal差错: 只有变量才能通过参考

function foo(){
    $b=array_pop(array("a","b","c"));
    return $b;
}
print_r(foo());

遵循守则(,只有习惯错误手持):(2048) 只有变量才能通过参考

function foo(){
    $a=explode(  /  ,  a/b/c );
    $c=array_pop(array_slice($a,-2,1));
    return $c;
}
print_r(foo());

第二批令我感到担忧,因为我有许多契约守则。 因此,我要么淡化使用习惯错误手法(改进我的伐木模块)或扩大我的所有法典的亮想法。

谁有更好的想法? 而且,工作队?

www.un.org/Depts/DGACM/index_spanish.htm

由于得到的答复,我已经了解了如何处理错误。 不仅包括E_STRICT(php 5)在内的E_ALL混淆不清。

在所有这一切中,造成你自己的习俗错误的手稿使E_STRICT在出现问题时得以违约。

故事的道德是利用你自己的错误手来追捕他们,并利用错误不变(E_STRICT、E_USER_WARNING、E_USER_ERROR等)进行过滤。

至于记忆腐败问题,有不同的参考资料和某些职能,我可以说什么? Doubly uncool。 我的伤口(这并不意味着你应该)在我的错误手脚和生活中忽视了E_STRICT。

问题回答

阵列-(流行)试图改变作为参数的这种价值。 现在,在你的第二个例子中,这是从阵列(slice())返回的价值。 就发动机而言,这是一种“临时价值”,这种价值只能通过参考。 你们需要的是一个临时变量:

function foo(){
    $a=explode(  /  ,  a/b/c );
    $b=array_slice($a,-2,1);
    $c=array_pop($b);
    return $c;
}
print_r(foo());

然后可将b美元转至阵列。 见http://php.net/fers

这里,我是在尝试你第二版的网址:php-cli 时发现的错误——向E_ALL E>报告。

    gparis@techosaure:~/workspace/universcine.com$ php -a
Interactive shell

php > function foo(){
php {     $a=explode(  /  ,  a/b/c );
php {     $c=array_pop(array_slice($a,-2,1));
php {     return $c;
php { }
php > print_r(foo());
PHP Strict standards:  Only variables should be passed by reference in php shell code on line 3
PHP Stack trace:
PHP   1. {main}() php shell code:0
PHP   2. foo() php shell code:1

你可以看到,这只是严格的标准。 你可以轻松地让你的习惯错误手法忽视这些错误(根据你获得的价值:例如,这里是2048年)。

至第5条第3款,E_ALL不包括E_STRICT,看着:

php > foreach(array("E_ALL", "E_DEPRECATED", "E_STRICT", "E_NOTICE", "E_PARSE", "E_WARNING") as $const) echo $const . "  :	" . constant($const) ."	". decbin(constant($const)). "
";
E_ALL  :        30719   111011111111111
E_DEPRECATED  : 8192     10000000000000
E_STRICT  :     2048       100000000000
E_NOTICE  :     8                  1000
E_PARSE  :      4                   100
E_WARNING  :    2                    10

网址:E_ALL 包括<代码>E_STRICT:

E_ALL  :            32767   111111111111111
E_DEPRECATED  :     8192     10000000000000
E_STRICT  :         2048       100000000000
E_NOTICE  :         8                  1000
E_PARSE  :          4                   100
E_WARNING  :        2                    10

它是一个记忆性腐败问题(根据PHP dev团队)。 仅仅在一项派任中:

function foo(){
    $b = array_pop($arr = array("a","b","c"));
    return $b;
}
print_r(foo());

:

function foo(){
    $a = explode(  /  ,  a/b/c );
    $c = array_pop($arr = array_slice($a,-2,1));
    return $c;
}
print_r(foo());

第二类产品是E_STRICT。 如果你希望(如果你不想改变这些职能的话)的话,你可以以不同的错误手法来处理。

我认为,现在(自第5组)应该:

function &foo(){ //NOTICE THE &
    $b=array_pop(array("a","b","c"));
    return $b;
}
print_r(foo());

以及

function &foo(){ //NOTICE THE &
    $a=explode(  /  ,  a/b/c );
    $c=array_pop(array_slice($a, $b = -2, $c = 1)); //NOW NO DIRECT VALUES ARE PASSED IT MUST BE VARIABLES
    return $c;
}
print_r(foo());

a) 仅指下列物品:

为此:

function foo(){
    $a = array("a","b","c");
    $b = array_pop($a);
    return $b;
}

我只是采用这种错误的链条方法。

doSomething()->andThis()

我已经:

doSomething()-andThis() // missing `>` character

我的设想更为复杂,但源自意外<代码>下游操作。





相关问题
Separating Business Layer Errors from API errors

The title is horrible, i know; I m terrible at titles on SO here. I m wondering what would be the best way to present unified error responses in a webapi when errors could be raised deep inside the ...

AsyncTask and error handling on Android

I m converting my code from using Handler to AsyncTask. The latter is great at what it does - asynchronous updates and handling of results in the main UI thread. What s unclear to me is how to handle ...

How to tell why a file deletion fails in Java?

File file = new File(path); if (!file.delete()) { throw new IOException( "Failed to delete the file because: " + getReasonForFileDeletionFailureInPlainEnglish(file)); } Is there a ...

Exceptions: redirect or render?

I m trying to standardize the way I handle exceptions in my web application (homemade framework) but I m not certain of the "correct" way to handle various situations. I m wondering if there is a ...

热门标签