Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中,此数组在全局中工作,但在放入类中时失败_Php_Arrays - Fatal编程技术网

在php中,此数组在全局中工作,但在放入类中时失败

在php中,此数组在全局中工作,但在放入类中时失败,php,arrays,Php,Arrays,我有下面的数组,如果我放入global并使用CLI访问php,这可以很好地工作,但是在类中放入相同的数组时会出现以下错误 'printer_1' => array( 't_char_set' => 'ch-latin-2', 'find' => array('Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü' , 'à', 'â', 'ç',

我有下面的数组,如果我放入global并使用CLI访问php,这可以很好地工作,但是在类中放入相同的数组时会出现以下错误

'printer_1' => array(
    't_char_set' => 'ch-latin-2',

    'find' => array('Ä',      'Ö',      'Ü',      'ä',      'ö',      'ü' ,
                    'à',      'â',      'ç',      'é',      'è',      'ê' ,
                    'ë',      'ï',      'î',      'ì',      'ô',      'ò'),

    'repl' => array(chr(142), chr(153), chr(154), chr(132), chr(148), chr(129),
                    chr(133), chr(131), chr(135), chr(130), chr(138), chr(136),
                    chr(137), chr(139), chr(140), chr(141), chr(147), chr(149))
);                                  
当把它作为一个变量放在类中时,它给出了以下错误

PHP解析错误:语法错误,意外,第6行的xxx.PHP中应为

有线索吗

编辑:这是完整的类,我删除了其他函数以最小化内容

<?php
  $K_printer = array(


     'TM1' => array(

        /* Printer Setup */

             'width' => 40,
         'translate' => true,
        'p_char_set' => false,

        /* Printer Capabilities */

             'color' => false,
           'barcode' => true,
               'cut' => true,
              'logo' => true,
            'drawer' => true,
        'fontselect' => true,
           'reverse' => false,


        /* Character Translation Setup */

        't_char_set' => 'ch-latin-2',

              'find' => array('Ä',      'Ö',      'Ü',      'ä',      'ö',      'ü' ,
                              'à',      'â',      'ç',      'é',      'è',      'ê' ,
                              'ë',      'ï',      'î',      'ì',      'ô',      'ò'),

              'repl' => array(chr(142), chr(153), chr(154), chr(132), chr(148), chr(129),
                              chr(133), chr(131), chr(135), chr(130), chr(138), chr(136),
                              chr(137), chr(139), chr(140), chr(141), chr(147), chr(149))
     )
  );

  // KByte
  // =====

  if(!function_exists('kchr')){
     function kbyte($val){
        return pack('C', $val);
     }
  }


  class KP{


       private $width;                 // output width (characters)
       private $translate;             // use character translation
       private $printer_char_set;      // printer character set

     // Constructor
     // ===========

     function __construct($printer_setup = false){
        // Load Printer Setup
        // ==================

        $this -> LoadSetup($printer_setup);
     }

     //removed other functions...

     //
     // Load Printer Setup
     // ==================

     function LoadSetup($printer = false){
        global $K_printer; 

        if(!isset($K_printer[$printer])){
           $this -> error('Unknown printer setup.');
           return false;
        }

        $this -> width = $K_printer[$printer]['width'];
        $this -> translate = $K_printer[$printer]['translate'];
        $this -> printer_char_set = $K_printer[$printer]['p_char_set'];
        return true;
     }


  } 
但我只是将这个文件包含在其他类函数require't1.php'中,$K_打印机在LoadSetup函数中作为NULL传递,所以它抛出了错误。我没有错误的日志打印\r$K\u打印机,真的;要在apache2的error.log文件中捕获此信息

[Thu Dec 12 02:31:15 2013] [error] [client 10.0.2.2] NULL\n
[Thu Dec 12 02:31:15 2013] [error] [client 10.0.2.2] Unknown printer setup.
从昨晚开始,我一直在努力寻找问题所在,最后写了一篇关于stackoverflow的文章,寻求专家建议。

改变:

$K_printer = array(
致: $GLOBALS['$K_打印机']=阵列

以及:

致:


这样做可以解决类中不存在全局变量$K_printer的问题。我认为这样做并不是最好的方法——我会构建它来将数组发送到类函数中。但是meh,我不知道这段代码在做什么,我想这样做可以帮你解决问题。

你能发布完整的类以便我们有一些上下文吗?好的,@Zarazthuztra我会放完整的类。@Barmar它位于'repl'=>arraychr142,chr153,line您缺少一个与第一行上的数组相匹配的右括号。编辑器没有告诉您何时有不平衡的括号吗?如果没有,请使用更好的IDE。
$K_printer = array(
 global $K_printer; 
$K_printer = $GLOBALS['$K_printer'];