我目前正在为我正在处理的脚本编写一些函数。我的问题是,内容的生成方式是php变量。
因此,要生成页面内容,必须如下:
$contents .="page content inside this";
如果我像这样echo
:
echo "page content inside this";
然后回显的文本将出现在页面顶部。因此,我必须使用$contents.="";
来生成页面内容。
我目前正在编写一个可以快速生成复选框的函数。我的功能如下:
function checkbox($name, $value, $checked){
if($checked == 1){
$checked = "checked";
}else{
$checked ="";
}
$contents.="<div class='roundedOne'>
<input type='checkbox' value='$value' id='roundedOne' name='$name' $checked />
<label for='roundedOne'></label>
</div>";
}
当我在页面内调用该函数时,不会出现任何内容:
$contents.="
".checkbox("name","value","1")."
";
我可以想象,当我调用该函数时没有任何反应的原因是我使用了$contents
而不是echo
,但不幸的是,这是我唯一的选择,因为脚本是加密的,所以我无法改变$contents
的行为方式。
我的问题是,如何使用$ contents打印函数?
答案 0 :(得分:0)
在函数内部使用它之前,您需要将$contents
声明为全局(不推荐) -
global $contents;
$contents.="<div class='roundedOne'>
<input type='checkbox' value='$value' id='roundedOne'
name='$name' $checked />
<label for='roundedOne'></label>
</div>";
或者,更好的是,您可以从您的函数生成内容然后将其返回 -
function checkbox($name, $value, $checked){
if($checked == 1){
$checked = "checked";
}else{
$checked ="";
}
return "<div class='roundedOne'>
<input type='checkbox' value='$value' id='roundedOne' name='$name'
$checked />
<label for='roundedOne'></label>
</div>";
}
$contents.= checkbox("name","value","1");
此外,您正在更改函数内$checked
参数的类型。强烈建议不要使用这种编码方式。尽量不要以这种方式改变变量的类型,它将为您省去很多麻烦。
答案 1 :(得分:0)
使用global $contents
或功能结束return $contents
答案 2 :(得分:0)
你从这个功能返回了什么?从函数返回字符串。或者使用$ content作为全局变量,如oliverbj建议的那样
答案 3 :(得分:0)
不确定我是否正确理解您的问题。您是否尝试使用全球?
<?php
$contents = "string string string";
function checkbox($name, $value, $checked){
global $contents;
if($checked == 1){
$checked = "checked";
}else{
$checked ="";
}
$contents.="<div class='roundedOne'>
<input type='checkbox' value='$value' id='roundedOne' name='$name' $checked />
<label for='roundedOne'></label>
</div>";
}
$contents.=" ".checkbox("name","value","1")." ";
echo $contents;
?>
答案 4 :(得分:0)
从函数中返回$contents
的值。
使用这种方式,您可以在页面中获得$contents
的价值。
等
function checkbox($name, $value, $checked){
if($checked == 1){
$checked = "checked";
}else{
$checked ="";
}
$contents.="<div class='roundedOne'>
<input type='checkbox' value='$value' id='roundedOne' name='$name' $checked />
<label for='roundedOne'></label>
</div>";
return $contents;
}
答案 5 :(得分:0)
你的功能没有回报价值。
所以你没有得到任何来自checkbox
函数的回复。
只需要return $contents
来自函数,然后回显结果将为你做。
function checkbox($name, $value, $checked){
if($checked == 1){
$checked = "checked";
}else{
$checked ="";
}
$contents.="<div class='roundedOne'>
<input type='checkbox' value='$value' id='roundedOne' name='$name' $checked />
<label for='roundedOne'></label>
</div>";
return $contents;
}
然后,
echo $contents;