Php结合了两个数组对象的值

时间:2018-01-30 16:31:49

标签: php

我有一个包含以下内容的对象:我希望将[0] [locationName和[1] [locationName]的内容组合到另一个对象/变量中,因此内容将是“Weymouth和Bournemouth”。我知道这里有类似的问题,但我的数组中的键具有相同的名称。怎么会这样做?

[destination] => stdClass Object
   (
   [location] => Array
    (
      [0] => stdClass Object
        (
          [locationName] => Weymouth
          )

      [1] => stdClass Object
      (
        [locationName] => Bournemouth
      )
  )
)

非常感谢你的时间。

1 个答案:

答案 0 :(得分:0)

假设你有$destination作为对象的引用,那么也许你可以尝试这样:

$arr=$destination->location;
$tmp=array();

foreach( $arr as $index => $obj )$tmp[]=$obj->locationName;

$tmp=implode(' and ',$tmp ); // do something with $tmp

假设我正确地重新创建了原始对象

$obj=(object)array(
    'destination' => (object)array(
        'location'  =>  array(
            (object)array('locationName'=>'Weymouth'),
            (object)array('locationName'=>'Bournemouth')
        )
    )
);

以上产生了这样的结构:

[destination] => stdClass Object
    (
        [location] => Array
            (
                [0] => stdClass Object
                    (
                        [locationName] => Weymouth
                    )

                [1] => stdClass Object
                    (
                        [locationName] => Bournemouth
                    )

            )

    )

$destination=$obj->destination;

pre( $obj );

$arr=$destination->location;
$tmp=array();

foreach( $arr as $index => $obj )$tmp[]=$obj->locationName;

$tmp=implode(' and ',$tmp ); // do something with $tmp
echo $tmp;  // --> outputs Weymouth and Bournemouth