代码之家  ›  专栏  ›  技术社区  ›  Jack B Nimble

为什么我不能引用这个似乎存在的数组索引?

  •  1
  • Jack B Nimble  · 技术社区  · 14 年前

    RecurringID=8675309&RefNo=41:39&Notes=
    

    所以我把它分解成这样一个数组:

    $results = array();
    $temp = explode('&', $temp);
    foreach($temp as $line)
    {
        $line = explode('=', $line);
        $results[trim($line[0])] = trim($line[1]);
    }
    

    结果 产生以下结果:

    Array ( [RecurringID] => 8675309 [RefNo] => 41:39 [Notes] => ) 
    

    $blah = $results['RecurringID'];
    

    我得到:

    Notice (8) : Undefined index:  RecurringID
    
    2 回复  |  直到 14 年前
        1
  •  0
  •   artlung    14 年前

    我无法重现这个错误。你在考试前用过吗 RecurringID

    你知道吗 parse_str()

    $temp = 'RecurringID=8675309&RefNo=41:39&Notes=';
    parse_str($temp, $results);
    
    print "<pre>";
    print_r($results);
    print "</pre>";
    

    $results 里面有这个:

    Array
    (
        [RecurringID] => 8675309
        [RefNo] => 41:39
        [Notes] => 
    )
    

    这很好:

    print $results['RecurringID']; //8675309
    

    我无法复制您的警告,即使我添加:

    error_reporting(E_ALL);
    

    …高于一切。

        2
  •  0
  •   Jack B Nimble    14 年前

    结果发现,查看ascii值可以发现:

    \r\n\t\t<html><body>RecurringID=1488819&RefNo=186:192&Notes=</body></html>
    

    这显然是混淆了parse\u str和我的手动解析方法。