$i <= count($tests["params"]) 
应为
$i < count($tests["params"])

解决方案 »

  1.   

    $tests = array('id' => "910003", 'params' => array("param1" => '', "param2" => '', "param3" => ''));
    foreach($tests["params"] as $k=>&$t) $t = $k;
    print_r($tests);Array
    (
        [id] => 910003
        [params] => Array
            (
                [param1] => param1
                [param2] => param2
                [param3] => param3
            )
    )$tests = array('id' => "910003", 'params' => array("param1" => '', "param2" => '', "param3" => ''));
    for($i=1; $i<=count($tests["params"]); $i++) {
      $tests["params"]['param'.$i] = $i;
    }
    print_r($tests);Array
    (
        [id] => 910003
        [params] => Array
            (
                [param1] => 1
                [param2] => 2
                [param3] => 3
            )
    )
      

  2.   

    谢谢!,如果这个参数名是没有规律的(如:param_23、paramAbc……),那有如何实现
      

  3.   


    $tests=array(
    'id' => "910003", 
    'params' => array(
                      "param1" => '', 
                      "param2" => '', 
                      "param3" => ''
                      )
    );
    for ($i = 1; $i<=count($tests["params"]); $i++) {
            $tests['params']['param'.$i]=$i;
    }
    print_r($tests['params']);