现在这样两列变量
$z0=$row['tom0'];
$z1=$row['tom1'];
$z2=$row['tom2'];
$z3=$row['tom3'];
$z4=$row['tom4'];
$z5=$row['tom5'];
$z6=$row['tom6'];
$z7=$row['tom7'];
$z8=$row['tom8'];
$z9=$row['tom9'];$v0=$row['tod0'];
$v1=$row['tod1'];
$v2=$row['tod2'];
$v3=$row['tod3'];
$v4=$row['tod4'];
$v5=$row['tod5'];
$v6=$row['tod6'];
$v7=$row['tod7'];
$v8=$row['tod8'];
$v9=$row['tod9'];
1.要实现的赋值方法是先从$v0-$v9中判断,取出其中符合($vX!="NULL"&&$vX)这个条件的变量,并且知道符合条件的有n个
2.然后从$z0-$z9中按先后顺序取n个符合(!$zX||$zX=="NULL")的变量
3.然后将1中取出的变量的值存入2中取出的变量的值

解决方案 »

  1.   

    代码没经过优化$row = array();
    for($i=0;$i<10;$i++){
    if($i%2 ==0){
    $row['tod'.$i] = rand(1,1000);
    }
    if($i%5 == 0){
    $row['tom'.$i] = rand(1,1000);
    }
    }
    $z0=$row['tom0'];
    $z1=$row['tom1'];
    $z2=$row['tom2'];
    $z3=$row['tom3'];
    $z4=$row['tom4'];
    $z5=$row['tom5'];
    $z6=$row['tom6'];
    $z7=$row['tom7'];
    $z8=$row['tom8'];
    $z9=$row['tom9'];$v0=$row['tod0'];
    $v1=$row['tod1'];
    $v2=$row['tod2'];
    $v3=$row['tod3'];
    $v4=$row['tod4'];
    $v5=$row['tod5'];
    $v6=$row['tod6'];
    $v7=$row['tod7'];
    $v8=$row['tod8'];
    $v9=$row['tod9'];$tmpAr = array();
    for($i=0;$i<10;$i++){
    $vx = 'v' . $i;
    if($$vx!=NULL && $$vx){
    $tmpAr[] = $$vx;
    }
    }
    for($i = 0 ; $i < 10 ; $i++){
    $zx = 'z' . $i;
    echo $zx . ':' . $$zx . '<br/>';
    }
    echo '<br/>';
    for($i = 0 ; $i < 10 ; $i++){
    if(count($tmpAr) == 0){break;}
    $zx = 'z' . $i;
    if(!$$zx || $$zx==NULL){
    $$zx = $tmpAr[0];
    unset($tmpAr[0]);
    $tmpAr = array_merge($tmpAr);
    }
    }
    for($i = 0 ; $i < 10 ; $i++){
    $zx = 'z' . $i;
    echo $zx . ':' . $$zx . '<br/>';
    }
    ?>