我正在使用wpallexport插件执行自定义XML导出。 我的情况是,我导出了一个多复选框。如果导出仅选中一个元素的复选框,则它是字符串,如果更多,则是数组。 问题是我通过PHP函数对XML进行了自定义样式。
我以某种方式做错了。这是代码片段
[befeuerung({fave_property_befeuerung})]
功能:
function befeuerung($meinArray){
$array = array(
"OEL" => 0,
"GAS" => 0,
"ELEKTRO" => 0,
"ALTERNATIV" => 0,
"SOLAR" => 0,
"ERDWAERME" => 0,
"LUFTWP" => 0,
"FERN" => 0,
"HOLZ" => 0,
"BLOCK" => 0,
"WASSER-ELEKTRO" => 0,
"PELLET" => 0,
);
if (is_array($meinArray)) {
if (in_array('Ol', $meinArray)) {
$array['OEL'] = 1;
}
if (in_array('Gas', $meinArray)) {
$array['GAS'] = 1;
}
if (in_array('Holz', $meinArray)) {
$array['HOLZ'] = 1;
}
if (in_array('Strom', $meinArray)) {
$array['ELEKTRO'] = 1;
}
if (in_array('Alternativ', $meinArray)) {
$array['ALTERNATIV'] = 1;
}
if (in_array('Solar', $meinArray)) {
$array['SOLAR'] = 1;
}
if (in_array('Erdwarme', $meinArray)) {
$array['ERDWAERME'] = 1;
}
if (in_array('Luftwarmepumpe', $meinArray)) {
$array['LUFTWP'] = 1;
}
if (in_array('Blockheizkraftwerk', $meinArray)) {
$array['BLOCK'] = 1;
}
if (in_array('Fernwarme', $meinArray)) {
$array['FERN'] = 1;
}
if (in_array('Pellets', $meinArray)) {
$array['PELLET'] = 1;
}
} elseif (is_string($meinArray)){
if (strpos($meinArray, 'Ol') == true) {
$array['OEL'] = 1;
}
if (strpos($meinArray, 'Gas') == true) {
$array['GAS'] = 1;
}
if (strpos($meinArray, 'Holz') == true) {
$array['HOLZ'] = 1;
}
if (strpos($meinArray, 'Strom') == true) {
$array['ELEKTRO'] = 1;
}
if (strpos($meinArray, 'Alternativ') == true) {
$array['ALTERNATIV'] = 1;
}
if (strpos($meinArray, 'Solar') == true) {
$array['SOLAR'] = 1;
}
if (strpos($meinArray, 'Erdwarme') == true) {
$array['ERDWAERME'] = 1;
}
if (strpos($meinArray, 'Luftwarmepumpe') == true) {
$array['LUFTWP'] = 1;
}
if (strpos($meinArray, 'Blockheizkraftwerk') == true) {
$array['BLOCK'] = 1;
}
if (strpos($meinArray, 'Fernwarme') == true) {
$array['FERN'] = 1;
}
if (strpos($meinArray, 'Pellets') == true) {
$array['PELLET'] = 1;
}
}
//<befeuerung OEL="0" GAS="1" ELEKTRO="0" ALTERNATIV="0" SOLAR="1" ERDWAERME="0" LUFTWP="0" FERN="0" BLOCK="0" WASSER-ELEKTRO="0" PELLET="0" />
return ('<befeuerung OEL="' . ($array['OEL']) . '" BLOCK="' . ($array['BLOCK']) . '" GAS="' . ($array['GAS']) . '" ERDWAERME="' . ($array['ERDWAERME']) . '" ELEKTRO="' . ($array['ELEKTRO']) . '" ALTERNATIV="' . ($array['ALTERNATIV']) . '" SOLAR="' . ($array['SOLAR']) . '" LUFTWP="' . ($array['LUFTWP']) . '" HOLZ="' . ($array['HOLZ']) . '" FERN="' . ($array['FERN']) . '" PELLET="' . ($array['PELLET']) . '" />');
}
如果它似乎是一个数组,那么一切都会正常进行,但是,如果它似乎是一个字符串值,那么我每次都会得到返回,例如:xyz = 0