[英]Concatenating PHP Function with HTML Attribute & Cannot Use Type Object as Array
我有两个问题
<< 1。>>
我有这样的PHP打印代码。
echo '<label class="control-label" for="'.to_string($dt->name_comp).'">'.$dt->name_comp.'</label>';
to_string是一个将“我的名字”生成为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;
}
《 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);
事件的顺序是这样的:
to_string(something_else)
被调用。 to_string
回显它创建的字符串。 to_string
返回undefined
。 "something"
与undefined
串联在一起,这导致"something"
。 "something"
。 这就是为什么to_string
的结果是在标签外部回显的原因,因为它在步骤2中被回显,而标签在步骤5中被回显。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.