在php中使用数组时如何截断尾随逗号
我有一个表单,它使用复选框创建一个数组,然后用逗号分隔的值输出数组。我想不出如何让最后一个逗号不回显。我是PHP新手,正在寻求一些帮助在php中使用数组时如何截断尾随逗号,php,arrays,Php,Arrays,我有一个表单,它使用复选框创建一个数组,然后用逗号分隔的值输出数组。我想不出如何让最后一个逗号不回显。我是PHP新手,正在寻求一些帮助 <?php $checked = $_POST['features']; for($i=0; $i < count($checked); $i++){ echo $checked[$i] . ", "; } ?> 您可以使用PHPs内置功能: echo implode(', ', $checked); 但是,如果您以与用户
<?php $checked = $_POST['features'];
for($i=0; $i < count($checked); $i++){
echo $checked[$i] . ", ";
} ?>
您可以使用PHPs内置功能:
echo implode(', ', $checked);
但是,如果您以与用户插入完全相同的方式打印用户输入,请注意XSS攻击。所以我可以给$\u POST['features][0]
写一些类似alert(“hello world”)的东西代码>,这将在您内爆阵列并将其打印出来时由浏览器执行。因此,用于清理用户输入:
echo implode(', ', array_map('htmlspecialchars', $checked));
由于用户可以通过此POST数据插入任何内容,您应该检查它是否实际上是一个数组:
if(is_array($checked) === true)
echo implode(', ', array_map('htmlspecialchars', $checked));
else
echo 'No valid data provided';
保存到变量使用rtrim(“,”,$variable),然后将变量输出回显您可以使用以下代码将数组输出回显,而无需在数组中循环:
echo print_r($array, true);
这将显示数组的可读表示形式,不带尾随逗号,尽管它不会像使用var\u export()
那样显示null、true和false
额外奖金:
如果在代码周围添加html
标记,如下所示:
echo '<pre>' . print_r($array, true) . '</pre>';
echo“”。打印($array,true)。“”;
您将可以更好地查看保留空格和换行符的数组