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支持使用foreach和endforeach;的替代语法。
<?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教程。
