我有两个问题
<lt;1.>>
我有这样的php打印代码。
echo '<label class="control-label" for="'.to_string($dt->name_comp).'">'.$dt->name_comp.'</label>';
to_string是一个将My Name生成为My_Name的函数,它可以使用$dt->Name_comp从数据库中生成值。所以…该语法必须是类似的html语法:<label class="control-label" for="my_name">Name Component</label>
我想问,为什么上面的代码不能工作?为什么my_name没有进入?
我试过这种方法:
echo '<label class="control-label" for="'. <?php to_string($dt->name_comp); ?>.'">'.$dt->name_comp.'</label>';
但是,它是一样的。结果总是这样:当我在firebug中检查它时,<label class="control-label" for=" ">Name Component</label>
。因此my_name出现在表单之外,而不是进入表单。不知道为什么。。
这是to_string()
函数:
function to_string($string) {
$string = preg_replace('/[''"]/', '', $string);
$string = preg_replace('/[^a-zA-Z0-9]+/', '_', $string);
$string = trim($string, '_');
$string = strtolower($string);
echo $string;
}
<lt;2>>
我有这样的文本输入代码:
echo '<input type="text" name="'.to_string($dt->name_comp).'" id="'.to_string($dt->name_comp).'" placeholder="'.$dt->name_comp.'" value="'.$dt['/name_comp/'].'">';
但是,有一个错误:致命错误不能将workspace_mockup_2''Models''Component类型的对象用作数组我应该在其中输入什么?需要一些建议。。谢谢。
to_string()
的最后一行应该是:
return $string;
当你这样做:
echo "something".to_string(something_else);
事件顺序如下:
- 调用CCD_ 5
to_string
回显它创建的字符串- CCD_ 7返回CCD_
"something"
与undefined
级联,从而得到"something"
- CCD_ 12被回波
这就是为什么to_string
的结果是标签外的回声,因为它在步骤2中被回声,而标签在步骤5中被回声。