简体   繁体   English

$ output里面的php echo语句

[英]php echo statement inside $output

I have the following php code: 我有以下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;

For some reason though, the value of $skizzar_double_width_size is not being added into the $output - is there a way to echo a value in an output variable? 但是由于某种原因,没有将$skizzar_double_width_size的值添加到$ output中-是否可以在输出变量中回显值?

As @Rizier123 mentioned, ensure you initialise any string variables before trying to append to them. 如@ Rizier123所述,请确保在尝试将任何字符串变量附加到变量之前对其进行初始化。

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

I would also like to strongly discourage you from using inline styles as well as generating them with inline PHP. 我也强烈建议您不要使用内联样式以及使用内联PHP生成样式。 Things get very messy very quickly. 事情变得非常混乱。

In a situation like this you need to check that all the variables you are using in the calculation are valid before you panic. 在这种情况下,您需要在恐慌之前检查计算中使用的所有变量是否有效。

So try 所以尝试

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;

This should identify which fields are causing you problems. 这应该确定哪些字段导致了您的问题。

Also while testing always run with display_errors = On It saves so much time in the long run. 同样,在测试期间始终使用display_errors = On运行从长远来看,它可以节省大量时间。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM