我有一个等于某些简单数据的变量,如下所示
$var = 'hello names here how are yous?';
我希望实现的是在$ var中有一个foreach循环,但我尝试了各种方法,只是没有运气,总是抛出错误。
以下是我该做什么。
$var = 'hello '.foreach($datas as $data) { echo $data }.' how are yous?';
echo $var;
哪个会输出 - 你好Mike Daniel Steve你好吗?
任何帮助表示感谢。
====== EDIT ======== 我试图用下面的代码写入循环内容文件。
$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);
所以基本上我写入将循环中的每个值写入一个新行。我可以写出正常的内容,但是在他们的挣扎中得到一个循环
答案 0 :(得分:4)
$var = 'hello';
foreach($datas as $data) {
$var .= ' '.$data.' ';
}
$var .= ' how are you?';
echo $var;
应该这样做
答案 1 :(得分:4)
$arr = array("Mike", "John");
echo "Hello " . implode(" ", $arr) . ", how are you?";
implode
是你的朋友。 Implode将数组元素连接成一个单独的字符串。每个数组元素之间的分隔符是第一个参数 - 在本例中为空白。
答案 2 :(得分:1)
您可以使用implode
:
$var = 'hello '.implode(' ', $datas) .' how are yous?';
echo $var;
答案 3 :(得分:0)
要实现这一点,您必须像这样插入foreach循环:
echo "hello ";
foreach($datas as $data) {
echo $data;
}
echo " how are you?";
或者您可以使用额外的变量和implode方法:
$dataString = implode(" ", $datas);
echo "hello " . $dataString . " how are you?";
答案 4 :(得分:0)
您可以按照以下方式执行此操作。
<?php
$data = array('Mike Daniel','john doe');
foreach ($data as $value) {
$result = 'hello '. $value. ' how are you?'. '</br>';
echo $result;
}