PHP foreach

PHPforeach教程展示了如何使用foreach语句在PHP中循环遍历数组元素和对象属性。

$ php -v
php -v
PHP 8.1.2 (cli) (built: Aug  8 2022 07:28:23) (NTS)
...

我们使用PHP版本8.1.2。

PHPforeach语句

foreach语句简化了对数据集合的遍历。foreach语句逐个遍历数组元素或对象属性,并将当前值复制到构造中定义的变量。

PHPforeach示例

以下示例遍历数组元素。

<?php

$planets = [ "Mercury", "Venus", "Earth", "Mars", "Jupiter", 
                 "Saturn", "Uranus", "Neptune" ];

foreach ($planets as $item) {
    
    echo "$item ";
}

echo "\n";

我们有一系列行星。使用foreach语句,我们遍历元素并一个一个地打印它们。

$ php planets.php 
Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune

这是输出。

PHPforeach例子二

下一个示例遍历数组/字典。

<?php 

$benelux =  [ 'be' => 'Belgium',
              'lu' => 'Luxembourgh',
              'nl' => 'Netherlands' ];

foreach ($benelux as $key => $value) {
    
    echo "$key is $value\n";
}

该示例打印数组的键/值对。

$ php dictionary.php 
be is Belgium
lu is Luxembourgh
nl is Netherlands

这是输出。

PHPforeach替代语法

PHP支持使用foreachendforeach;的替代语法。

<?php

$planets = [ "Mercury", "Venus", "Earth", "Mars", "Jupiter", 
                 "Saturn", "Uranus", "Neptune" ];

foreach ($planets as $planet): 
    
    echo "$planet ";
endforeach;

echo "\n";

在示例中,我们使用替代语法遍历数组。

PHPforeach多维数组

我们可以使用多个foreach语句来遍历多维数组。

<?php

$vals = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ];

foreach ($vals as $nested) {

    foreach ($nested as $val) {

        echo $val . ' ';
    }

    echo "\n";
}

在示例中,我们使用两个foreach语句遍历一个二维整数数组。

$ php multidim.php 
1 2 3 
4 5 6 
7 8 9 

这是输出。

PHPforeach修改数组元素

通过使用与号运算符(&),foreach语句使用对数组元素的引用。

<?php
 
$vals = [1, 2, 3, 4, 5];

foreach ($vals as &$val) {

     $val *= 2;
}
 
print_r($vals); 

在示例中,我们遍历整数数组并将每个元素乘以二。

$ php modify_array.php 
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

数组已修改。

PHPforeach对象属性

以下示例遍历对象属性。

<?php
 
class User
{
    public $name;
    public $occupation;
 
    public function __construct($name, $occupation) {
        $this->name = $name;
        $this->occupation = $occupation;
    }
}
 
$user = new User('John Doe', 'gardener');
 
foreach ($user as $propName => $propValue) {
    echo "$propName: $propValue\n";
}

用户对象有两个属性:$name$occupation。我们使用foreach遍历这些属性。

$ php object.php 
name: John Doe
occupation: gardener

这是输出。

在本教程中,我们介绍了PHPforeach语句。

列出所有PHP教程。

赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏