我有多个复选框,比如说;
<input type="checkbox" value='One' />
<input type="checkbox" value='Two' />
<input type="checkbox" value='Three' />
我的php看起来像;
echo implode(', ', get_field('checkboxes'));
当我选中所有框时,我的输出看起来像;
一二三
但是,我正在寻找一种输出的样子;
一、二和三
当我只选中两个框时,输出将是;
一和二
在任何地方都找不到这个,请帮忙!
干杯
假设你有一个值数组,你可以使用 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
使用以下代码
$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;