2014-09-26 68 views
0

如何在每个循环中对一个字符串进行连接?我在下面做的工作没有循环没有问题,但有没有一种方法可以将循环放在那里,而不结束$body[{{body}}]并再次启动它?PHP:Concat在foreach循环中的字符串

$carrier = array (
    'SAS' => array('alias' => 'sas', 'name' => 'SAS'), 
    'British Airways' => array('alias' => 'british_airways', 'name' => 'British Airways') 
); 

$body['{{body}}'] = ''; 

$body['{{body}}'] .= 'Line one'. 

    foreach ($carrier as $key=>$value) { 
     '<option value='.$value['alias'].'>'.$value['name'].'</option>'.; 
    } 

'Line two'. 
'Line three'. 
'Line four'; 

print_r($body); 
+0

仅供参考,你想连接foreach循环内的字符串。你不会说你想要连接一个循环。 – 2014-09-26 15:05:26

回答

1

试试这个 - 你必须连接在foreach循环中产生的每一行。

$carrier = array (
    'SAS' => array('alias' => 'sas', 'name' => 'SAS'), 
    'British Airways' => array('alias' => 'british_airways', 'name' => 'British Airways') 
); 

$body['{{body}}'] = 'Line one'; 

foreach ($carrier as $key=>$value) { 
    $body['{{body}}'] .= '<option value=' . $value['alias'] . '>' . $value['name'] . '</option>'; 
} 

$body['{{body}}'] .= 'Line two'; 
$body['{{body}}'] .= 'Line three'; 
$body['{{body}}'] .= 'Line four'; 

print_r($body); 
+0

仍然一样。在foreach之后也有行。 '解析错误:语法错误,意想不到的T_FOREACH在C:\ web \ apache \ htdocs \ esp \ test \ concat.php 12行上' – jmenezes 2014-09-26 15:11:30

+0

对不起,我不小心在那里留下了一个小点。我会用完整的代码进行更新。有时简洁是没有帮助的:) – 2014-09-26 15:14:59

+0

现在我已经发布了完整的代码。请注意,我简化了'$ body ['{{body}}']'的初始化。以'$ body ['{{body}}']。='开头的每一行都以分号结尾。我没有测试过它(没有PHP环境,对不起),但我希望它能工作。 – 2014-09-26 15:22:19

相关问题