-1

我有多个复选框,可以说;

<input type="checkbox" value='One' />
<input type="checkbox" value='Two' />
<input type="checkbox" value='Three' />

我的 php 看起来像;

echo implode(', ', get_field('checkboxes'));

当我检查所有框时,我的输出看起来像;

一二三

但是,我正在寻找一种输出方式;

一二三

当我只选中两个框时,输出将是;

一二

到处都找不到,求大神帮忙!

干杯

4

2 回答 2

3

假设您有一个值数组,您可以使用array_slice仅选择数组的某个部分来进行内爆,然后与最后一个补码&。这是一个示例函数:

function show_values($values) {
    $size = count($values);

    $text = implode(', ', array_slice($values, 0, -1));
    $text .= ($size > 1) ? ' & ' : '';
    $text .= $values[$size - 1];

    return $text;
}

echo show_values(array('One')) . "\n"; // One
echo show_values(array('One', 'Two')) . "\n"; // One & Two
echo show_values(array('One', 'Two', 'Three')) . "\n"; // One, Two & Three
于 2013-11-01T11:05:05.693 回答
0

使用以下代码

$checkboxes = get_field('checkboxes');

$output = '';
$length = count($checkboxes);
for($i = 0 ; $i < $length; $i++) {
    if($i < $length - 1) {
        $output .= $checkboxes[$i] . ', '; 
        continue;
    }

    $output .= '& ' . $checkboxes[$i];
}

echo $output;
于 2013-11-01T11:03:14.417 回答