嘿,这是连接的正确方法吗?它似乎不想为我工作!。
$driver1points = 0;
$driver2points = 0;
$driver3points = 0;
$driver4points = 0;
for($i = 1; $i <= 4; $++){
if(${"driver".$i} == $driverrace["fastestlap"]) {
${"driver". $i ."points"} += $driver_points_system["fastestlap"];
$racepoints += $team_points_system["fastestlap"];
break;
}
}
答案 0 :(得分:0)
我同意评论中所说的内容。数组是一种更好的处理方法。
<?php
$driver1points = 0;
$driver2points = 0;
$driver3points = 0;
$driver4points = 0;
for($i = 1; $i <= 4; $++) {
$driver = "driver$i";
if($$driver == $driverrace["fastestlap"]) {
${$driver."points"} += $driver_points_system["fastestlap"];
$racepoints += $team_points_system["fastestlap"];
break;
}
}
可以翻译成:
<?php
$drivers['bill'] = 0;
$drivers['ted'] = 0;
$drivers['cheech'] = 0;
$drivers['chong'] = 0;
foreach ( $drivers as $driver => &$points ) {
if ( $driver == $race['fastestlap'] ) {
echo "$driver had the fastest lap!";
$points += $driver_points_system['fastestlap'];
$racepoints += $team_points_system['fastestlap'];
break;
}
}
显然,您可以将其作为一个分数数组,并将所有$ drivers [$ driverName]赋值替换为$ drivers []。我使用了一个关联数组来证明数组不仅对这个应用程序更有效,而且它们也可以更容易使用。
我通过引用传递了foreach的值参数,“&amp;”前缀(类似于指针,变量存储内存地址而不是值);这允许您直接操作逻辑中的值,而不是给出值的副本,并且需要重新分配类似于$ drivers [$ driver] = $ points;
的内容。