我想从WordPress中的一组SKU中获取最高数字。我有以下代码,它获取所有SKU的列表。然后我只显示包含字符串'BUR'
的那些,然后我使用explode
来修剪输出。基于以下什么是最好的方法?
示例数据:
ABB-0001-1
ABB-0002-1
ABB-0003-1
BUR-0001-1
BUR-0002-1
BUR-0003-1
当前代码:
<?php
$args = array(
'post_type' => array('product'),
'posts_per_page' => -1
);
$wcProductsArray = get_posts($args);
if (count($wcProductsArray)) {
foreach ($wcProductsArray as $productPost) {
$productSKU = get_post_meta($productPost->ID, '_sku', true);
$productTitle = get_the_title($productPost->ID);
if (strpos($productSKU, 'BUR') !== false) {
$s = explode("-",$productSKU);
echo '<li>' . $s[1] . '</li>';
}
}
}
?>
当前输出:
0003
0002
0001
期望的输出:
0003
答案 0 :(得分:1)
我正在考虑这样的事情来追踪最大值:
// initialize $max before the loop
$max = null;
foreach ($wcProductsArray as $productPost) {
$productSKU = get_post_meta($productPost->ID, '_sku', true);
$productTitle = get_the_title($productPost->ID);
if (strpos($productSKU, 'BUR') !== false) {
$s = explode("-",$productSKU);
// update $max as you loop
$max = max($max, $s[1]);
}
}
// print it afterward
echo $max;