1

我是 PHP 新手,对这一点感到困惑..

当我有这个时,它会显示数据

<?php foreach ($profile as $p):?>
    <?php echo $profile->custom_url;?>
                    <?php endforeach?>

但是当我这样做时,我得到“试图获得非对象的属性”

   <?php echo $profile->custom_url;?>

但是我已经看到了不在 foreach 循环中并且数据显示的代码。任何人都可以帮助解释为什么会这样吗?

4

2 回答 2

1

您的 foreach 应具有 (array_expression as $value) 的格式。来源

<?php foreach ($profile as $p):?>
<?php echo $p->custom_url;?>
<?php endforeach?>
于 2012-09-19T01:42:29.397 回答
0
// $profile is an array
<?php foreach ($profile as $profile):?>
    // inside foreach $profile is the element of the array $profile
    <?php echo $profile->custom_url;?>
<?php endforeach?>

// $profile is an array not an object
<?php echo $profile->custom_url;?>

// You'd better use another variable name for the element.
<?php foreach ($profile as $element):?>
    <?php echo $element->custom_url;?>
<?php endforeach?>
于 2012-09-19T01:52:56.157 回答