PHP:处理函数返回而不存储?

时间:2011-07-07 11:39:51

标签: php

假设我的应用程序中有一个返回数组的库。是否可以在没有事先将其作为变量存储在我的范围内的情况下访问数组?

下面显示的代码显然不起作用,但有可能与此类似吗?

我想做的例子:

if(isSet($myLibrary->create_nice_array()['element'])) {
    //...
}

我现在需要做的例子:

$temp_array = $myLibrary->create_nice_array();

if(isSet($temp_array['element'])) {
    //...
}

4 个答案:

答案 0 :(得分:0)

你不是唯一一个希望他们能用PHP做到这一点的人!

您必须将输出分配给变量,然后操纵变量。

答案 1 :(得分:0)

一般情况下,这是可能的。但是,您使用的是isset()函数:

  

bool isset(混合$ var [,混合$ ...   ])
  确定是否设置了变量   不是NULL。

     

警告:isset()仅适用于变量   传递任何其他东西将导致一个   解析错误。用于检查常量   设置使用defined()函数。

这很有道理。

答案 2 :(得分:0)

isset问题:

isset只能将变量作为参数,而不是函数返回。

阵列访问问题:

我认为说得很好here

由于PHP的定义方式,因此无法使用[$a]()()[$a]之类的结构。它根本无法完成

答案 3 :(得分:0)

您可以使用

if(array_key_exists('element', $myLibrary->create_nice_array())) {
    //...
}