我有以下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中 - 有没有办法在输出变量中回显一个值?
答案 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
运行。从长远来看,它可以节省很多时间。