gpt4 book ai didi

php - PHP array foreach scope within function 的解释

转载 作者:可可西里 更新时间:2023-10-31 23:59:58 26 4
gpt4 key购买 nike

我有以下 PHP 代码:

$car1 = new Car('Ford','Fusion');
$car2 = new Car('Chevy', 'Avalanche');
$car3 = new Car('Ford', 'F150');

$cars = array($car1, $car2, $car3);

function getCarsByMake($carMake){
foreach($cars as $car){
if($car->make == $carMake){
echo 'Car: ' . $car->make . ' ' . $car->model . "<br>";
}
}
}

getCarsByMake('Ford');

我得到的错误是 foreach 语句中的 $cars 未定义。但是,据我了解, $cars 数组应该是全局范围的?如果我通过构造函数将数组传递给函数,它就可以正常工作。但是我想知道为什么我不能以这种方式访问​​数组。

最佳答案

除了 Exprator 的解决方案,您还可以像这样将 $cars 数组传递给函数。

function getCarsByMake($carMake, $cars){
foreach($cars as $car){
if($car->make == $carMake){
echo 'Car: ' . $car->make . ' ' . $car->model . "<br>";
}
}
}

getCarsByMake('Ford', $cars);

关于php - PHP array foreach scope within function 的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45242548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com