Довольно просто - когда вы прикрепите ключ color_type
к своему объекту, он станет массивом, который является свойством вашего объекта.Скорее всего, это то, что вам нужно: вам, вероятно, не захочется превращать этот массив в его собственный объект stdClass
, потому что тогда вы не сможете перебирать все значения (как легко).Вот фрагмент кода:
<?php
// putting in both of these checks prevents you from throwing an E_WARNING
// for a non-existent property. E_WARNINGs aren't dangerous, but it makes
// your error messages cleaner when you don't have to wade through a bunch
// of E_WARNINGS.
if (!isset($post->color_type) || empty($post->color_type)) {
echo 'No colour type selected.'; // apologies for the Canadian spelling!
} else {
// this loop does exactly the same thing as your loop, but it makes it a
// bit more succinct -- you don't have to store the count of array values
// in $N. Bit of syntax that speeds things up!
foreach ($post->color_type as $thisColor) {
echo $thisColor;
}
}
?>
Надеюсь, это поможет!Конечно, в реальных условиях вы захотите выполнить все виды проверки и очистки данных - например, вы захотите убедиться, что браузер действительно передал массив значений для $_POST['color_type']
, и выВы захотите очистить вывод в случае, если кто-то пытается внедрить эксплойт на вашу страницу (переходя echo htmlspecialchars($thisColor);
- это превращает все символы, такие как <и>, в объекты HTML, чтобы они не могли вставить код JavaScript).*