当我将变量类型设置为double时出错

时间:2017-07-14 10:16:00

标签: php arrays associative-array

i want to store 100000 nos in array so that i have declared my varibles as double but getting following error

PHP Warning:  Cannot use a scalar value as an array in solution.php 

我读了一些帖子,根据它们,你必须声明像

这样的数组
$l_arr= array(); 
 $l_arr[]=0;

删除标量错误,如何在变量中存储大数字,你有什么替代方法。我们可以声明双数组或者我们如何增加它的大小。     

/* Enter your code here. Read input from STDIN. Print output to STDOUT */

$handle = fopen ("php://stdin","r");
fscanf($handle,"%d",$n);

    $i=0;
    $l_arr= array();
    $r_arr= array();
    $in= array();
    $map= array();

    $l_arr[]=0;
    $r_arr[]=0;
    settype($arr_temp,'double');
    settype($l_arr,'double');
    settype($i,'double');
    settype($r_arr,'double');
    settype($in,'double');
    settype($map,'double');
     for($i=0;$i<$n;$i++)
    {
         $arr_temp = fgets($handle);
         $l_arr[$i]= trim(preg_replace("/[0-9,.]/", "", $arr_temp));
         $l_arr[$i]=trim(preg_replace("/[^0-9,.]/", "", $arr_temp));
    }
    for($i=0;$i<$n;$i++)
    {
        $arr_temp = fgets($handle);
        $in[$i]=trim($arr_temp);
    }
    for($i=0;$i<$n;$i++)
    {
       $map[$l_arr[$i]]=$r_arr[$i];
    }
    for($i=0;$i<sizeof($in);$i++)
    {
       if($map[$in[$i]]!=NULL)
       {
          echo $in[$i]."=".$map[$in[$i]]."\n";
       }
       else
       {
          echo "Not found \n";
       }
    }

?> 

1 个答案:

答案 0 :(得分:0)

我为数组赋值的方式错误