【问题标题】:PHP Foreach inside variable with equalsPHP Foreach内部变量等于
【发布时间】:2015-03-15 04:37:12
【问题描述】:

我有一个等于一些简单数据的变量,如下所示

$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 你好吗?

任何帮助表示赞赏。

======编辑======== 我试图用下面的代码写入文件循环的内容。

  $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);

所以基本上我将循环中的每个值写入新行。我可以只写正常的内容,但在他们的即时通讯中遇到了一个循环

【问题讨论】:

  • 只要摆脱它可以或应该在一行中完成的想法,并通过附加来逐步构建结果字符串。
  • 您不能在变量中分配循环

标签: php foreach echo var


【解决方案1】:
$var = 'hello';
foreach($datas as $data) {
  $var .= ' '.$data.' ';
}
$var .= ' how are you?';
echo $var;

应该这样做

【讨论】:

    【解决方案2】:
    $arr = array("Mike", "John");
    echo "Hello " . implode(" ", $arr) . ", how are you?";
    

    implode 是你的朋友。 Implode 将数组元素连接成一个字符串。每个数组元素之间的分隔符是第一个参数 - 在本例中为空格。

    【讨论】:

    • 因为我认为这是最好的答案,所以我建议简要介绍一下 implode 的工作原理。否则新手可能会带着疑惑的表情将其视为“魔术”。你必须教他们如何钓鱼,而不是为他们钓鱼。 ;)
    【解决方案3】:

    你可以使用implode:

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

    【讨论】:

      【解决方案4】:

      要实现这一点,您必须像这样插入 foreach 循环:

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

      或者您可以使用额外的变量和implode 方法:

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

      【讨论】:

        【解决方案5】:

        你可以通过以下方式做到这一点。

        <?php 
        
         $data = array('Mike Daniel','john doe');
        
         foreach ($data as $value) {
            $result = 'hello '. $value. ' how are you?'. '</br>'; 
            echo  $result;
         }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-02-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-05
          • 2023-03-19
          • 2010-09-23
          相关资源
          最近更新 更多