Foreach行为怪异

时间:2014-04-10 06:56:45

标签: php css foreach

我尝试在类中创建一个简单的方法来创建一个盒子。 问题是,它只给我数组中的第一个元素。我回应了$值,我得到了整个css代码,我尝试将它们放在div的样式中。但仍然只得到最后一个元素。

我目前的代码如下:

class general {
    public function box($content,$style,$width = 50,$height = 50) {

            foreach ($style as $k => $v) {
                    $values = ''.$k.':'.$v.';';
                        echo($values);
                $box = '<div class="testBox" style="'.$values.'">'.$content.'</div> ';        
            }
            return $box;
    }
}

$general = new general();
$test = array(
     'background-color' => '#000',
     'font-size' => '120px'
);
echo $general->box('testValue',$test);

2 个答案:

答案 0 :(得分:3)

试试这样:

public function box($content,$style,$width = 50,$height = 50) {
    $values = '';
    foreach ($style as $k => $v) {
        $values .= ''.$k.':'.$v.';';
    }
    $box = '<div class="testBox" style="'.$values.'">'.$content.'</div> ';
    return $box;
}                                                                               

答案 1 :(得分:1)

$box = '<div class="testBox" style="'.$values.'">'.$content.'</div> ';

$box .= '<div class="testBox" style="'.$values.'">'.$content.'</div> ';

并宣布

$box = '';在循环之外。

您需要使用.

连接数据