新手PHP:插入一个变量用于回显

时间:2011-07-11 14:42:39

标签: php variables

我希望能够echo $domain来自

$domain = $response['results']['$MYVAR']['shortUrl'];

我尝试过花括号和其他各种格式化$ MYVAR的方法,但语法错误。

非常欢迎!

编辑 - >的var_dump($响应):

object(stdClass)#1 (4) {
    ["errorCode"]=> int(0)
    ["errorMessage"]=> string(0) ""
    ["results"]=> object(stdClass)#2 (1) {
        ["http://www.domain.com"]=> object(stdClass)#3 (5) {
            ["userHash"]=> string(6) "oSEMki"
            ["shortKeywordUrl"]=> string(0) ""
            ["hash"]=> string(6) "oms2ZB"
            ["shortCNAMEUrl"]=> string(20) "http://bit.ly/LALALA"
            ["shortUrl"]=> string(20) "http://bit.ly/LALALA"
         }
    }
    ["statusCode"]=> string(2) "OK"
}

我可以看到“domain.com”元素很好,但是当我这样做时:

的var_dump($反应[ '结果'] [$ MYVAR]);

它返回NULL!这必须是$ domain = $ response ['results'] [$ MYVAR] ['shortUrl'];也失败了。奇怪!

- 编辑2 -

var_dump($MYVAR);给出:

string(118) "http://www.domain.com"

5 个答案:

答案 0 :(得分:4)

试试这个:

$domain = $response['results'][$MYVAR]['shortUrl'];
echo $domain;

你确定它存储在这样的三维数组中吗? 因为那看起来像是不必要的并发症。

答案 1 :(得分:1)

不加引号尝试

$domain = $response['results'][$MYVAR]['shortUrl'];

或使用双引号

$domain = $response['results']["$MYVAR"]['shortUrl'];

编辑:

对你的编辑做出反应。您正在访问变量,如关联数组,但该变量是stdObject的实例。因此,如果您想要访问它,您必须重新键入它:

$tmp = (array) $response;
$domain = $tmp['results'][$MYVAR]['shortUrl'];

或像对象

一样访问它
$domain = $tmp->results->$MYWAR->shortUrl;

编辑2:

所以很奇怪,因为http://www.domain.com长度不是118个字符,因为var_dump写道。

您在哪里以及如何填写变量$MYVAR

答案 2 :(得分:0)

$domain = $response['results'][$MYVAR]['shortUrl'];

$ MYVAR周围不需要报价。

答案 3 :(得分:0)

你试过没有$ MYVAR周围的报价吗?

答案 4 :(得分:0)

这是一个对象。

$domain = $response->results->$MYVAR->shortUrl;