2016-02-26 3 views
0

Можно ли комбинировать две строки с петлей? Например:Объединить две строки с петлей

echo 'Prefix '.for($i=0;$i<4;$i++){ echo $i; }.' suffix'; 

Это не представляется возможным:

echo 'Prefix '; 
for($i=0;$i<4;$i++) 
{ 
    echo $i; 
} 
echo ' suffix'; 

Потому что я хотел бы сохранить страницу с помощью file_put_contents и источник имеет сочетание HTML и PHP.

Я хотел бы получить:

$page = <beginning_of_html_page_here> 
    <php_code_here> 
    <end_html_page_here> 

file_put_contents(page.html, $page); 
+1

Что вы, Вы хотите распечатать номера или сохранить файл? –

+0

Возможно, вы могли бы использовать [выходной буфер] (http://php.net/manual/en/function.ob-start.php)? –

+0

Может быть, вы хотите: 'echo 'sufix'. $ i. «Prefix''? – felipsmartins

ответ

0

Вы можете использовать string concatenation. Используйте точку ., чтобы присоединиться к строкам, 'a'.'b' даст 'ab'. И $a .= 'c' добавит 'c' к переменной $a.

// Create the string 
$string = 'Prefix '; 
for($i=0;$i<4;$i++) 
{ 
    // Append the numbers to the string 
    $string .= $i; 
} 
// Append the suffix to the string 
$string .= ' suffix'; 
// Display the string 
echo $string; 

Результат:

Приставкасуффикс

Demo at Codepad.


О конце вашего вопроса, вы можете использовать эту логику:

$page = '<beginning_of_html_page_here>'; 

// Append things to your string with PHP 
$page .= 'something' 

$page .= '<end_html_page_here>'; 

О вашем первом блоке кода, это также может быть сделано с помощью двух функций: range() для генерации массив чисел и implode(), чтобы присоединиться к статьям массива:

<?php 

// Create the string 
$string = 'Prefix '.implode('', range(0, 3)).' suffix'; 
echo $string; 
Смежные вопросы