【问题标题】:How to use foreach in PHP?如何在 PHP 中使用 foreach?
【发布时间】:2016-05-17 07:58:35
【问题描述】:

我正在尝试使用 PHP 中的 foreach 语句编写下面的代码。我刚开始使用 PHP,所以还在学习。

$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
for($i = 0; $i < count($myarray); $i++) {
    $myarray[$i] .= " ($i)";
}

我该怎么做?

【问题讨论】:

标签: php


【解决方案1】:
 $myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
 foreach($myarray as $key => &$item) {
     $item .= " ($key)";
 }

&amp;$item 使 $item 成为指针而不是数组项的副本。因此,您对 $item 所做的任何更改都将反映在原始文件中。 $key 相当于您的数组索引计数器$i。有关详细信息,请参阅 foreach 参考。

【讨论】:

    【解决方案2】:
    $myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
    $i = 0;
    foreach($myarray as $arrayElement) {
        $i++; //Foreach item in the array it adds 1 to the variable i.
        $myarray[$i] = " $i"; //it sets the element[i] to the value of i
        echo $myarray[$i]; //it displays your array on the screen
    }
    

    这是很长的路要走(但在我看来很容易),我不推荐这种方式(使用 $key),但您可以使用它将所有内容存储在变量中以了解您在做什么,直到您真正了解循环。

    【讨论】:

      【解决方案3】:

      如果你用 FOREACH 循环替换你的 FOR 循环,它看起来像这样:

      $myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
      foreach ($myarray as $key => $value) {
          $myarray[$key] .= " ($key)";
      }
      

      有关 foreach 的更多信息,请查看the official documentation

      【讨论】:

        【解决方案4】:

        这就是你想要的。

        $myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
         foreach($myarray as $key => $value) {
             $myarray[$key].= " ($key)";
         }
        

        说明:

        $key 等效于您的数组索引计数器$i$value 是数组$myarray 的值。更多信息可以查看this

        【讨论】:

        • 可能希望将您的值更改为 item,反之亦然。此外,您需要将值初始化为指针或在附加值时使用索引。
        • 我想我犯了错​​字。 @Achshar 先生,我已经更新了我的答案:)。
        • 大声笑我不是先生,先生。
        猜你喜欢
        • 2016-09-08
        • 2015-11-22
        • 2023-03-24
        • 2019-03-21
        • 1970-01-01
        • 2011-06-05
        • 2015-12-27
        • 1970-01-01
        • 2016-01-26
        相关资源
        最近更新 更多