0

我有 2 个问题

<< 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不进入for

我试过这样:

echo '<label class="control-label" for="'. <?php to_string($dt->name_comp); ?>.'">'.$dt->name_comp.'</label>';

但是,一样。结果总是这样:<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 作为数组的对象我应该在那里输入什么?需要一些建议..谢谢。

4

1 回答 1

1

最后一行to_string()应该是:

return $string;

当你这样做时:

echo "something".to_string(something_else);

事件的顺序是这样的:

  1. to_string(something_else)叫做。
  2. to_string回显它创建的字符串。
  3. to_string返回undefined
  4. "something"与 连接undefined,结果为"something"
  5. "something"回响。

这就是为什么to_string的结果是在标签外回显的原因,因为它是在步骤 2 中回显的,而标签是在步骤 5 中回显的。

于 2013-07-19T05:31:00.510 回答