如何在数组中写入变量

问题描述 投票:0回答:2

我试着把一个字符串写进一个数组之间的变量中。

if ($row_klasse['RabKlNummerVK'] != ''){
    $headerrabklasse = '\'Rabatt\'\=\>\'price\'\,';
}
else {$headerrabklasse = '';}

然后我想把变量$headerrabklasse写进去。

$writer = new XLSXWriter();

$writer->writeSheetHeader (Preisliste, array(
        'Marke'=>'string',
        'Range'=>'string',
        'Artikelnummer'=>'string',
        'Bezeichnung'=>'string', 
        'EAN'=>'string', 
        'kg netto'=>'zahl3', 
        'VE'=>'string', 
        'Steuer'=>'string', 
        'Listenpreis'=>'euro',
        $headerrabklasse
        'Nettopreis'=>'price3',
        'UVP'=>'price'),
        ['auto_filter'=>true, 'widths'=>[20,50,15,45,15,8,8,8,8,8], 
        'font-style'=>'bold', 'fill'=>'#eee', 
        'freeze_rows'=>1, 
        'freeze_columns'=>0] );

但我总是得到一个错误......有谁知道吗?

php arrays xlsx
2个回答
0
投票

在PHP中,你可以很容易地将数据附加到数组中,就像这样。

//Define array with default values
//BTW: if you work with PHP >= 5.4 better to use [] instead of array()
$sheetHeaders = array(
    'Marke'=>'string',
    'Range'=>'string',
    'Artikelnummer'=>'string',
    'Bezeichnung'=>'string',
    'EAN'=>'string',
    'kg netto'=>'zahl3',
    'VE'=>'string',
    'Steuer'=>'string',
    'Listenpreis'=>'euro',
    'Nettopreis'=>'price3',
    'UVP'=>'price'
);

if ($row_klasse['RabKlNummerVK'] != ''){
    //Here you append data to existing array in format: array[key] = value
    $sheetHeaders['Rabatt'] = 'price';
}

//Then use fulfilled array as you want
$writer->writeSheetHeader ($preisliste, $sheetHeaders);

0
投票

你的数组需要键和值,所以你需要写一个键名,然后把变量作为值传递给它。我还注意到你混合了数组声明。在PHP中,你可以这样调用一个数组。

Array(el1, el2, ...)

或者像这样

[el1, el1, ...]

两种方式都可以,但为了达到最佳实践效果,你应该选择一种方式,并坚持使用它。

$writer->writeSheetHeader(Preisliste, [
        'Marke'=>'string',
        ...
        'MyNewKeyName' => $headerrabklasse,
        ...
    ],
    [
       ...
    ] 
);

0
投票

我猜你不想用这个。

if ($row_klasse['RabKlNummerVK'] != '') {
    $headerrabklasse = ['Rabatt' => 'price'];
}
else {$headerrabklasse = [];}

你可以做这样的事情。

$writer->writeSheetHeader (Preisliste, array_merge(array(
    'Marke'=>'string',
    'Range'=>'string',
    'Artikelnummer'=>'string',
    'Bezeichnung'=>'string', 
    'EAN'=>'string', 
    'kg netto'=>'zahl3', 
    'VE'=>'string', 
    'Steuer'=>'string', 
    'Listenpreis'=>'euro',
    'Nettopreis'=>'price3',
    'UVP'=>'price'),
    ['auto_filter'=>true, 'widths'=>[20,50,15,45,15,8,8,8,8,8], 
    'font-style'=>'bold', 'fill'=>'#eee', 
    'freeze_rows'=>1, 
    'freeze_columns'=>0]), $headerrabklasse);
© www.soinside.com 2019 - 2024. All rights reserved.