$ output语句里面的$ echo语句

时间:2015-01-19 14:49:36

标签: php variables output

我有以下php代码:

$skizzar_masonry_item_width = $masonry_item_width;
$skizzar_masonry_item_padding = $masonry_item_padding;
$skizzar_double_width_size = $masonry_item_width*2 +$masonry_item_padding;

$output .= '<style>.skizzar_masonry_entry.skizzar_ma_double, .skizzar_masonry_entry.skizzar_ma_double img {width:'.$skizzar_double_width_size.'}</style>';

return $output;

出于某种原因,$skizzar_double_width_size的值没有被添加到$ output中 - 有没有办法在输出变量中回显一个值?

2 个答案:

答案 0 :(得分:0)

正如@ Rizier123所提到的,确保在尝试附加任何字符串变量之前初始化它们。

$var = ''; $var .= 'I appended'; $var .= ' a string!';

我还强烈建议您不要使用内联样式以及使用内联PHP生成内联样式。事情很快就会变得非常混乱。

答案 1 :(得分:0)

在这种情况下,您需要在恐慌之前检查计算中使用的所有变量是否有效。

所以试试

echo 'before I use these values they contain<br>';
echo '$masonry_item_width = ' . $masonry_item_width . '<br>';
echo '$masonry_item_padding = ' . $masonry_item_padding . '<br>';


$skizzar_masonry_item_width = $masonry_item_width;
$skizzar_masonry_item_padding = $masonry_item_padding;
$skizzar_double_width_size = $masonry_item_width*2 +$masonry_item_padding;

echo 'after moving the fields to an unnecessary intemediary field<br>';
echo '$skizzar_masonry_item_width = ' . $skizzar_masonry_item_width . '<br>';
echo '$skizzar_masonry_item_padding = ' . $skizzar_masonry_item_padding . '<br>';
echo '$skizzar_double_width_size = ' . $skizzar_double_width_size . '<br>';


$output .= '<style>.skizzar_masonry_entry.skizzar_ma_double, .skizzar_masonry_entry.skizzar_ma_double img {width:'.$skizzar_double_width_size.'}</style>';

echo $output;

这应该确定哪些字段导致您出现问题。

同时测试始终以display_errors = On运行。从长远来看,它可以节省很多时间。