-1

我有一个关于我认为一定很容易的问题的快速问题 - 我做了一些研究,发现了一些看起来很有希望的链接,尤其是this,但由于某种原因它对我不起作用。

无论如何,我在 MySQL 中创建了一个存储过程,并使用 MySQL Workbench 对其进行了测试,它可以工作 - 它只是添加 num1 和 num2 并返回结果。现在我试图让它在 PHP 中工作,但结果不是一个整数,而是一个包含该整数的 stdClass 对象的数组。从返回大量数据的过程的角度来看,这是有道理的,但是我在仅处理整数时遇到了一些麻烦。

我运行这个:

   CALL database.routine(2,7)

我将结果保存到 $var 中。当我运行 print_r($var) 时,我得到:

    Array
    (
    [0] => stdClass Object
    (
    [num1+num2] => 9
    )
    )

因此,为了超越 Array 部分,我通过运行 print_r($var[0]) 专门询问了其中的第一个元素,这让我:

    stdClass Object
    (
    [num1+num2] => 9
    )

现在我需要更深一层...我尝试了上面链接到的页面所说的内容,并尝试访问 $var[0]->[num1+num2],因为该字段似乎已命名,但是不起作用。我也尝试了一些单引号和双引号的组合,但没有运气。如何从这个对象中得到数字 9?

4

5 回答 5

5

尝试...

$var[0]->{'num1+num2'}
于 2012-06-11T13:53:54.863 回答
3

尝试这个

$var[0]->{"num1+num2"}

或者

$prop = 'num1+num2';
$var[0]->$prop;
于 2012-06-11T13:51:59.920 回答
2

你试过这个吗?

$var[0]->{'num1+num2'}
于 2012-06-11T13:52:05.863 回答
2

尝试以下$var[0]->{'num1+num2'}

于 2012-06-11T13:52:10.923 回答
0

这很疯狂,但它可能会奏效!

$var[0]->{'num1+num2'}

于 2012-06-11T14:10:47.153 回答