对象在PHP中,我从一个形式转换发布的数据对象是这样的:转换阵列在PHP
<?php
...some code...
$post = new stdClass;
foreach ($_POST as $key => $val)
$post->$key = trim(strip_tags($_POST[$key]));
?>
然后在我的网页我只是附和发布的数据是这样的:
<?php echo $post->Name; ?>
<?php echo $post->Address; ?>
等等...
这工作正常,但我有多个复选框,是一个组的一部分,我呼应这样的结果,像这样:
<?php
$colors = $_POST['color_type'];
if(empty($colors))
{
echo("No color Type Selected.");
}
else
{
$N = count($colors);
for($i=0; $i < $N; $i++)
{
echo($colors[$i] . ", ");
}
}
?>
这个工作,当我只是使用数组,但我该如何写这个对象语法?
这听起来更接近我认为我所寻找的。我的页面已经按照我想要的方式工作,只需将所有发布的数据在页面上回显,如'<?php echo $ post-> Name; ''但是,我不知道如何获取与发布的其他信息相同对象格式的复选框组。但是,我保持计数,因为用户可以选择多个选项,并且有大约20个选项。此外,输出在页面上显示时以逗号分隔(我想要的)。我还没有尝试你的解决方案,但这仍然适合我吗? – rick
我对PHP非常新颖......所以我希望有一种方法可以理解,就像我在原始问题的第二部分中所解释的那样,当它以数组形式发布时发挥作用,而让它成为对象就像正在回应的其他信息一样。就像'<?php $ colors = $ post-> color_type; if(empty($ colors)) echo(“No color Type Selected。“); } 别的 { $ N =计数($颜色); 为($ I = 0; $ I <$ N; $ I ++) { 回波($颜色[$ i]中。” ,“); } } ?>'这显然不起作用......但我希望它是沿着这些路线的 – rick
要回答逗号分隔的问题,这很容易,只需扔掉'for'循环并用'echo implode(',',$ colors)替换它;' - 第一个参数是胶水(在本例中是一个逗号和一个空格),第二个参数是你想要'内爆'的数组或者将所有元素粘合成一个字符串)。是否有任何特殊原因需要颜色作为对象或对象,而不仅仅是一个数组?实际上更容易操纵。 –