我如何创建一个带有PHP数组的表。数组由html输入决定。该表具有第一列中的实际值,第二列中的长度,以及它是否以3个字母,3个数字或第三列中的两个字母开头。
echo '<table>';
foreach ($array as $key => $value) {
echo '<tr><td>';
echo htmlspecialchars($array);
echo '</td><td>';
echo strlen($array);
echo '</td><td>';
//to work on
$trim = substr($array, 0, 3);
if(is_numeric($trim)){
echo 'numeric';
}elseif(is_string($trim)){
echo 'string';
}else{
echo 'else ?';
}
echo '</td></tr>';
}
echo '</table>';
答案 0 :(得分:0)
PHP会将名称中括号的POST值解释为数组。
<form method="POST">
<input type="text" name="values[]" >
<input type="text" name="values[]" >
<input type="text" name="values[]" >
<button type="submit">Go</button>
</form>
现在......这里介绍的解决方案只是为了让您入门。第三列可能有点棘手,因为' ab123c '的值将作为字符串传递。
我会让你按照你希望他们处理的方式解决问题。
if(is_array($_POST['values'])){
echo '<table>';
foreach ($_POST['values'] as $key => $value) {
echo '<tr><td>';
echo htmlspecialchars($value);
echo '</td><td>';
echo strlen($value);
echo '</td><td>';
//to work on
$trim = substr($value, 0, 3);
if(is_numeric($trim)){
echo 'numeric';
}elseif(is_string($trim)){
echo 'string';
}else{
echo 'else ?';
}
echo '</td></tr>';
}
echo '</table>';
}
PS:绝不信任用户输入;)
我知道代码不是干净利落,目标是让它易于理解。