我有一个包含以下内容的对象:我希望将[0] [locationName和[1] [locationName]的内容组合到另一个对象/变量中,因此内容将是“Weymouth和Bournemouth”。我知道这里有类似的问题,但我的数组中的键具有相同的名称。怎么会这样做?
[destination] => stdClass Object
(
[location] => Array
(
[0] => stdClass Object
(
[locationName] => Weymouth
)
[1] => stdClass Object
(
[locationName] => Bournemouth
)
)
)
非常感谢你的时间。
答案 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