TEL:400-8793-956
当前位置:程序、服务器

PHP中的未定义索引我收到第二个'if'语句“未定义索引”的错误

提问者: 近期获赞: 浏览人数: 发布时间:2021-03-26 09:55:22

 问:PHP中的未定义索引我收到第二个'if'语句“未定义索引”的错误。我还应该添加什么?

<?php 
$ name = array ('01' => '阿拉巴马州' ,'02' => '阿拉斯加' ,'04' => '亚利桑那州' ,'05' => '阿肯色州' ,'06' => '加利福尼亚” ,“ 08” => “科罗拉多” ,“ 09” => “康涅狄格州” ,“ 10” => “特拉华州” ,“ 11” => “哥伦比亚特区” ,“ 12”=> '佛罗里达' ,'13' => '乔治亚州' ,
 
    '15'  =>  '夏威夷' ,
'16' => '爱达荷州' ,'17' => '伊利诺伊州' ,'18' => '印第安纳州' ,'19' => '爱荷华州' ,'20' => '堪萨斯州' ,'21' => '肯塔基州' ,'22' => '路易斯安那州' ,'23' => '缅因州' ,'24' => '马里兰州' ,'25' =>'Massachusetts' ,'26' => 'Michigan' ,'27' =>      
 
      '明尼苏达州' ,
'28' => '密西西比州' ,'29' => '密苏里州' ,'30' => '蒙大拿州' ,'31' => '内布拉斯加州' ,'32' => '内华达州,' 33' => 'New Hampshire' ,'34' => 'New Mexico' ,'35' => 'New York' ,'36' => '北卡罗来纳州' ,'37' => '北达科他州' ,'38' => '俄亥俄州' ,'39' =>      
 
      '俄克拉荷马州' ,
'40' => '俄勒冈州' ,'41' => '宾夕法尼亚州' ,'42' => '罗德岛' ,'44' => '南卡罗来纳州' ,'45' => '南达科他州' ,'46' => '田纳西州' ,'47' => '德克萨斯州' ,'48' => '犹他州' ,'49' => '佛蒙特州' ,'50' => '弗吉尼亚州,'51' => '华盛顿州' ,'53' =>      
 
      'West Virginia' ,
'54' => 'Wisconsin' ,'55' => 'Wyoming' ,'56' => 'American Samoa' ); $ sum =数组('n1_4' ,'n5_9' ,'n10_19' ,'n20_49' ,'n50_99' ,'n100_249' ,'n250_499' ,'n500_999' ,'n1000' ,'n1000_4' ,'n1000_1' ,' n1000_2' ,'n1000_3' ,'n1000_4' ); $ header =      
 
错误的; 
$ arr = array (array ()); 
$ handle = fopen ('county.csv' ,'r' ); 而((($ current = fgetcsv ($ handle ))!== FALSE ){ if (!$ header ){ $ header = $ current ; 继续; } $ res = array_combine ($ header ,$ current ); $状态=
 
      $ name [ $ res [ 'fipstate' ]]; 
foreach ($ sum as $ v ){ if (array_key_exists ($ state ,$ arr )){ $ arr [ $ state ] [ $ v ] = $ arr [ $ state ] [ $ v ] + $ res [ $ v ]; } else { $ arr [ $ state ] [ $ v ] = $ res [ $ v ]; }
 
    } 
fclose ($ handle ); 
print_r ($ arr );复制代码 ?>
 
 
答:我必须承认,要知道没有单独的注释描述/文档就很难确切知道您的代码正在尝试实现的目标。但是,我注意到您正在使用fopen句柄“ $ handle”,即使fopen本身可能已失败。
 
若要更正此问题,请确保仅在打开流成功的情况下使用句柄。您可以使用if块将所有块括起来;取决于fopen结果的状态。
 
<?php 
$ name = array (
'01' => '阿拉巴马州' ,'02' => '阿拉斯加' ,'04' => '亚利桑那州' ,'05' => '阿肯色州' ,'06' => '加利福尼亚” ,“ 08” => “科罗拉多” ,“ 09” => “康涅狄格州” ,“ 10” => “特拉华州” ,“ 11” => “哥伦比亚特区” ,“ 12”=> '佛罗里达' ,'13' => '乔治亚州' ,      
 
    '15'  =>  '夏威夷' ,
'16' => '爱达荷州' ,'17' => '伊利诺伊州' ,'18' => '印第安纳州' ,'19' => '爱荷华州' ,'20' => '堪萨斯州' ,'21' => '肯塔基州' ,'22' => '路易斯安那州' ,'23' => '缅因州' ,'24' => '马里兰州' ,'25' =>'Massachusetts' ,'26' => 'Michigan' ,'27' =>      
 
      '明尼苏达州' ,
'28' => '密西西比州' ,'29' => '密苏里州' ,'30' => '蒙大拿州' ,'31' => '内布拉斯加州' ,'32' => '内华达州,' 33' => 'New Hampshire' ,'34' => 'New Mexico' ,'35' => 'New York' ,'36' => '北卡罗来纳州' ,'37' => '北达科他州' ,'38' => '俄亥俄州' ,'39' =>      
 
      '俄克拉荷马州' ,
'40' => '俄勒冈州' ,'41' => '宾夕法尼亚州' ,'42' => '罗德岛' ,'44' => '南卡罗来纳州' ,'45' => '南达科他州' ,'46' => '田纳西州' ,'47' => '德克萨斯州' ,'48' => '犹他州' ,'49' => '佛蒙特州' ,'50' => '弗吉尼亚州,'51' => '华盛顿州' ,'53' =>      
 
      'West Virginia' ,
'54' => 'Wisconsin' ,'55' => 'Wyoming' ,'56' => 'American Samoa' ); $ sum =数组('n1_4' ,'n5_9' ,'n10_19' ,'n20_49' ,'n50_99' ,'n100_249' ,'n250_499' ,'n500_999' ,'n1000' ,'n1000_4' ,'n1000_1' ,' n1000_2' ,'n1000_3' ,'n1000_4' ); $ header =      
 
错误的; 
$ arr = array (array ()); 
if ($ handle = fopen ('county.csv' ,'r' )){ while (($ current = fgetcsv ($ handle ,1000 ,',' ))!== FALSE ){ if (!$ header ){ $ header = $ current ; 继续; } $ res = array_combine ($ header
   
 
         ,$ current ); 
$ state = $ name [ $ res [ 'fipstate' ]]; foreach ($ sum as $ v ){ if (array_key_exists ($ state ,$ arr )){ $ arr [ $ state ] [ $ v ] = $ arr [ $ state ] [ $ v ] + $ res [ $ v ]; } else { $ arr [ $ state ] [ $ v ]          
 
             =  $ res [ $ v ]; 
} } } fclose ($ handle ); } print_r ($ arr ); ?>
上一篇: 为什么我不能打开应用程序模拟器?
下一篇: 伪元素图标字形html实体值?