2015-01-16 26 views
0

,等於一些簡單的數據變量低於PHP的foreach裏面變量等於我已經如圖所示

$var = 'hello names here how are yous?'; 

什麼,我希望做到的,是有是$ var裏面foreach循環,但我已經想盡各種辦法只沒有運氣,總是拋出錯誤。

下面是我該怎麼做。

$var = 'hello '.foreach($datas as $data) { echo $data }.' how are yous?'; 
echo $var; 

會輸出 - 你好邁克丹尼史蒂夫你最近怎麼樣?

任何幫助表示讚賞。

======編輯======== 即時試圖寫入文件的代碼下面的循環內容。

$datas = 'Name, Name2, Name4'; 
    $var = ''.foreach($datas as $data) { echo $data }.' 

$default_file = 'media/default.php'; 
$default_file_handle = fopen($default_file, 'w') or die('Cannot open file: '.$default_file); 


$default_data = ' 
'.$var.'//each value to be a new line 
Name2 //example 
Name4 //example 
etc 
'; 
fwrite($default_file_handle, $default_data); 

所以基本上我寫入文件中的每個值到一個新的行。我可以寫只是正常的內容,但得到他們的IM循環與

+2

只是擺脫了它可以或應該在一行中完成的想法,並通過追加來增加結果字符串。 – Jon

+2

你不能在一個變量中分配一個循環 – Daan

回答

4
$var = 'hello'; 
foreach($datas as $data) { 
    $var .= ' '.$data.' '; 
} 
$var .= ' how are you?'; 
echo $var; 

掙扎應該這樣做

4
$arr = array("Mike", "John"); 
echo "Hello " . implode(" ", $arr) . ", how are you?"; 

implode是你的朋友。 Implode將數組元素連接成一個單獨的字符串。每個數組元素之間的分隔符是第一個參數 - 在本例中爲空白。

+0

因爲我認爲這是最好的答案,所以我建議給出一個關於內存如何工作的簡要描述。否則,新手可能會把它看成是「神奇」的,帶着迷惑的目光。你必須教他們如何釣魚,而不是爲他們釣魚。 ;) – Tek

1

您可以使用implode

$var = 'hello '.implode(' ', $datas) .' how are yous?'; 
echo $var; 
0

要做到這一點,你要麼必須插入foreach循環是這樣的:

echo "hello "; 
foreach($datas as $data) { 
    echo $data; 
} 
echo " how are you?"; 

,或者你可以使用一個額外的變量和implode方法:

$dataString = implode(" ", $datas); 
echo "hello " . $dataString . " how are you?"; 
0

你可以這樣做。

<?php 

$data = array('Mike Daniel','john doe'); 

foreach ($data as $value) { 
    $result = 'hello '. $value. ' how are you?'. '</br>'; 
    echo $result; 
}