0

我有一系列行为非常奇怪的对象。如果我将它放在 foreach 循环中,我可以运行该方法:

foreach ($options['image']->images as &$image) {
    var_dump($options['image']->images[0]->src('small'));
}

返回:

string 'files/small/test.jpg' (length=20)

但是,foreach 循环之外的相同 var_dump :

var_dump($options['image']->images[0]->src('small'));
foreach ($options['image']->images as &$image) {
    var_dump($options['image']->images[0]->src('small'));
}

返回

Error: Call to a member function src() on a non-object

我进行了一些有趣的测试:

**Get Class**
echo get_class($options['image']->images[0]);
foreach ($options['image']->images as &$image) {
    var_dump($options['image']->images[0]->src('small'));
}

返回:

Image

和:

**Get Class Methods**
var_dump(
    get_class_methods($options['image']->images[0])
);
foreach ($options['image']->images as &$image) {
    var_dump($options['image']->images[0]->src('small'));
}

返回:

array
  0 => string '__construct' (length=11)
  1 => string 'src' (length=3)
  2 => string 'makeThumb' (length=9)
  ...

我看不出为什么 foreach 块之外的对象会有任何问题。值得注意的是 $options 数组本身来自一个 foreach 循环:

foreach ($option_goups as $options)
4

0 回答 0