【发布时间】:2020-05-19 08:06:38
【问题描述】:
我使用 PHP 变量 $sku 从导出中删除某些产品。如果我只想从导出中删除带有 SKU X 的产品,下面的代码效果很好。
foreach ($skus as $key => $sku){if ($sku == "X") return "";
但是,如果我想从导出中删除带有 SKU X 和/或 Y 和/或 Z 的产品,下面的代码会给出空输出。知道这里有什么问题吗?
foreach ($skus as $key => $sku){if ($sku == "X" || $sku == "Y" || $sku == "Z") return "";
更新:我已经更改了函数,但现在我收到致命错误:'continue' not in the 'loop' or 'switch' context in your code on line 32 (continue;)。
function get_order_item_lines($skus = '', $qty = ''){
$xml = '';
if (!empty($skus) && is_array($skus)){
foreach ($skus as $key => $sku){
if (strpos(strtoupper($sku, "Z")) === 0) return "";
$xml .= "<L>".PHP_EOL;
$xml .= "<P>" . $sku . "</P>".PHP_EOL;
$xml .= "<Q>" . (empty($qty[$key]) ? "" : $qty[$key]) . "</Q>".PHP_EOL;
$xml .= "</L>".PHP_EOL;
}
} else {
$skus = explode( ",", $skus );
if ( !empty( $skus[0] ) && !empty( $qty[0] ) ) {
if (strpos(strtoupper($skus[0], "Z")) === 0) return "";
$xml .= "<L>".PHP_EOL;
$xml .= "<P>" . trim( $skus[0] ) . "</P>".PHP_EOL;
$xml .= "<Q>" . (empty($qty[0]) ? "" : $qty[0]) . "</Q>".PHP_EOL;
$xml .= "</L>".PHP_EOL;
}
}
return $xml;
}
【问题讨论】:
-
你尝试过什么调试问题?