正确的php连接方式

时间:2011-09-22 15:58:25

标签: php

嘿,这是连接的正确方法吗?它似乎不想为我工作!。

        $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;
            }
         }

1 个答案:

答案 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;

的内容。