Php 来自数组的动态$行输出
我试图从数组中获取动态$row值,并将其显示为输出。当值已经存在时,它保持不显示任何内容 这就是我到目前为止的情况,其中:Php 来自数组的动态$行输出,php,mysql,Php,Mysql,我试图从数组中获取动态$row值,并将其显示为输出。当值已经存在时,它保持不显示任何内容 这就是我到目前为止的情况,其中: $row[“lg_.”$val.“”应返回: $lg_it “it”是数组中的$val foreach($arrMapCookieToLang as $key => $val) { $shrtKey = $row["lg_".$val.""]; <input type="text" name="lg_$val" value="$shrtKey
$row[“lg_.”$val.“”代码>应返回:
$lg_it
“it”是数组中的$val
foreach($arrMapCookieToLang as $key => $val) {
$shrtKey = $row["lg_".$val.""];
<input type="text" name="lg_$val" value="$shrtKey">
}
foreach($arrMapCookieToLang作为$key=>$val){
$shrtKey=$row[“lg_.”$val.“”];
}
有人有想法吗?相反
Instead, the
<input type="text" name="lg_$val" value="$shrtKey">
也许你应该使用
echo "<input type=\"text\" name=\"lg_" . "$val\" value=\"$shrtKey\">";
echo”“;
您所拥有的应该会导致语法错误。请尝试以下操作:
<?php
foreach($arrMapCookieToLang as $key => $val) {
$shrtKey = $row['lg_'.$val];
?>
<input type="text" name="lg_<?= $val ?>" value="<?= $shrtKey ?>">
<?php
}
您没有回显输入字段:
foreach($arrMapCookieToLang as $key => $val) {
$shrtKey = $row["lg_".$val.""];
echo '<input type="text" name="lg_' . $val .'" value="' . $shrtKey . '">';
}
如果这些都在PHP标记中,您将希望echo”“代码>。但是,PHP标记之外的HTML不需要echo
ed。此解决方案假设启用了PHP短标记。您不能依赖于此,尤其是在共享托管环境中。@Andreas自Php 5.4以来就提供了短回音标记,并且此解决方案与OP的原始代码非常接近。对其进行了一些修改,但这一次首先显示了我的错误。谢谢大家的帮助!感谢@Progrock、Andreas和Mistery在这篇文章中的贡献。你可以用这个来讨论变量。@Progrock谢谢你的澄清。对我来说是新的,短echo标记忽略了ini设置,因为5.4如果将变量连接到输入属性,为什么要转义双引号,而不是对echo表达式使用单qoute?这对于代码可读性来说要好得多(参见上面我的解决方案)是的,同意您的变体更具可读性。但这种变异也是有意义的。
foreach($arrMapCookieToLang as $val) {
// ...
}