在PHP中有没有替代“友好”变量名的方法?
全部, 我正在做我的第一个PHP大项目&我遇到了一些风格/卫生问题 我从一个Mariadb查询中提取结果&它们最终形成一个名为$row的数组 当我把它们打印出来的时候,我会得到这样的陈述在PHP中有没有替代“友好”变量名的方法?,php,mysql,variables,preprocessor,Php,Mysql,Variables,Preprocessor,全部, 我正在做我的第一个PHP大项目&我遇到了一些风格/卫生问题 我从一个Mariadb查询中提取结果&它们最终形成一个名为$row的数组 当我把它们打印出来的时候,我会得到这样的陈述 echo "Mr Boddy was killed by ".htmlspecialchars($row[8])." with the ".htmlspecialchars($row[20])." in the ".htmlspecialchars($
echo "Mr Boddy was killed by ".htmlspecialchars($row[8])." with the ".htmlspecialchars($row[20])." in the ".htmlspecialchars($row[25]).".";
当我真的想让代码像
echo "Mr Boddy was killed by ".htmlspecialchars($suspect)." with the ".htmlspecialchars($weapon)." in the ".htmlspecialchars($location).".";
我想这样做是因为
1.它更容易阅读。
2.如果添加或移动数据库列,则更易于维护
如果我在C中这样做的话,我只需要编写几个define语句,但它们在PHP中似乎不是这样工作的
目前,我使用的变量名格式不能与我在代码中使用的任何其他格式混淆&通过一系列sed命令将其发送到友好变量所在的位置,以替换真实变量
有更好的方法吗?如果没有,友好变量名是否有首选格式?是否使用PDO?如果是这样,您可以使用PDO::FETCH_ASSOC FETCH模式: $statement=$connection->prepareSELECT从表中选择嫌疑人、武器、位置; $statement->execute; $row=$statement->fetch\PDO::fetch\u ASSOC; //行现在有了您的db列。例如:$row[“可疑”]
文档:您正在使用PDO吗?如果是这样,您可以使用PDO::FETCH_ASSOC FETCH模式: $statement=$connection->prepareSELECT从表中选择嫌疑人、武器、位置; $statement->execute; $row=$statement->fetch\PDO::fetch\u ASSOC; //行现在有了您的db列。例如:$row[“可疑”]
文档:使用mysqli_fetch_assoc而不是mysqli_fetch_数组。正如John Conde提到的,以关联的方式检索,然后使用列名、$row['suspect']、$row['blast']等访问数据。显然,使用数据库表中定义的列名。使用mysqli_fetch_assoc而不是mysqli_fetch_数组。正如John Conde提到的,以关联方式检索,然后使用列名、$row['suspect']、$row['BLEAR']等访问数据。显然,使用数据库表中定义的列名。这比仅使用数字要好,但它确实会在变量名中添加至少5个字符。我希望不要给变量名添加太多的膨胀&而且它往往会导致我的IDE在任何一行的上下文更改越多时崩溃has@sudononymous如果你担心变量名的长度,那么你关注的是错误的事情,试图优化一些不需要优化的东西。我同意@Phil,变量名应尽可能长。为了使代码和上下文易于理解,需要这样做。作为解释,在我最近重构代码之前,其中一行有5183个字符长&有119个对$row元素的引用。我同意变量需要占用尽可能多的空间,但在已经过长的行中再添加600个字符并不能提高代码的可读性。我非常感谢这个关联解决方案,但我仍然对其他解决方案感到好奇。这比仅仅拥有数字要好,但它确实为变量名添加了至少5个字符。我希望不要给变量名添加太多的膨胀&而且它往往会导致我的IDE在任何一行的上下文更改越多时崩溃has@sudononymous如果你担心变量名的长度,那么你关注的是错误的事情,试图优化一些不需要优化的东西。我同意@Phil,变量名应尽可能长。为了使代码和上下文易于理解,需要这样做。作为解释,在我最近重构代码之前,其中一行有5183个字符长&有119个对$row元素的引用。我同意变量需要占用尽可能多的空间,但在已经过长的行中再添加600个字符并不能提高代码的可读性。我非常感谢协会的解决方案,但我仍然对其他解决方案感到好奇。