我正在使用html textarea来获取我的数组而且我是 尝试显示$ name x次,如果x未指定,则应显示一次。
到目前为止,这是我的代码:
$str = $_POST['text'];
$input = explode("\n", $str);
foreach($input as $line){
$line1 = explode(' ', $line);
$number = $line1[0];
$name = ltrim($line, $number.' ');
$number = preg_replace('/[^0-9.]+/', '', $number);
$name = preg_replace('/\s+/', '', $name);
for ($i = 0 ; $i < $number ; $i++ )
{
echo $name;
}}
感谢您的帮助
编辑:
示例(这是通过post方法获得的textarea)
2x Blue Flower
3 Red Flower
1 Orange Flower
Green Flower
现在它显示它(这是我的代码的结果)
Blue Flower
Blue Flower
Red Flower
Red Flower
Red Flower
Orange Flower
你可以看到它并没有显示绿花。
答案 0 :(得分:0)
尝试将最后一行替换为:
$number = intval( preg_replace('/[^0-9.]+/', '', $number) );
if ( $number < 1 ) $number = 1;
$name = preg_replace('/\s+/', '', $name);
echo str_repeat($name, $number);
答案 1 :(得分:0)
替换:
for ($i = 0 ; $i < $number ; $i++ )
{
echo $name;
}
使用:
echo $number . ' - ' . $name;
如果这不起作用,您可以发布$_POST['text']