在数组中设置默认值

时间:2014-03-23 17:35:58

标签: php arrays

我正在使用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

你可以看到它并没有显示绿花。

2 个答案:

答案 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']

的实际内容