代码之家  ›  专栏  ›  技术社区  ›  user5299698

创建动态关联数组时出现问题

  •  0
  • user5299698  · 技术社区  · 8 年前

    $l_arr )for键,其他数组用于值( $r_arr $map echo $map['key'] 输出为空,请帮助我,盖伊。这是代码和输出,

    <?php
    
    
    $handle = fopen ("php://stdin","r");
    fscanf($handle,"%d",$n);
    
    for($i=0;$i<$n;$i++)
    {
         $arr_temp = fgets($handle);
         $l_arr[$i]= preg_replace("/[0-9,.]/", "", $arr_temp);
         $r_arr[$i]=preg_replace("/[^0-9,.]/", "", $arr_temp);
    
    }
    for($i=0;$i<$n;$i++)
    {
    $arr_temp = fgets($handle);
    $op[$i]=$arr_temp;
    }
              for($i=0;$i<$n;$i++)
        {
    
            $map[$l_arr[$i]]=$r_arr[$i];
    
         }
    print_r($map);
    
    echo "value of sam is".$map['sam'];
    
    ?>
    

    输出为

    Array
    (
        [sam 
    ] => 99912222
        [tom 
    ] => 11122222
        [harry 
    ] => 12299933
    )
    
    value of sam is
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Tajgeer    8 年前

    正如您可能看到的,输出中有空格-请查看每个数组索引后的新行。你需要 trim() 你的 preg_replace() 在这里:

    $l_arr[$i] = trim(preg_replace("/[0-9,.]/", "", $arr_temp));
    $r_arr[$i] = trim(preg_replace("/[^0-9,.]/", "", $arr_temp));