- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的代码可以追溯到 2011 年,而且我在代码布局方式的严格标准方面遇到了很多错误。
if (!isset($End)) {
$Info['Card'] = array_shift(array_keys($Info['Cards']));
}
if (!isset($Game['Pack']) || !in_array($Game['Pack'], $Packs)) {
$Game['PackName'] = array_shift(array_values($Packs));
$Game['Pack'] = $this->GetPackInfo($Game['PackName']);
}
$Params['Password'] = array_pop(explode("\t", $Attr));
布置此代码的正确方法是什么?
最佳答案
您没有在问题中明确说明,但我将您的短语“有关我的代码布局方式的严格标准的错误”解释为您正在运行 PHP Code Sniffer或类似的工具,这是您从中获得这些错误的地方。
PHP Code Sniffer是分析代码是否符合特定准则的出色工具。
为此有许多指导方针——几十年来,人们一直在争论是否使用制表符或空格进行缩进,是否使用 CamelCase 或 snake_case 作为变量名,以及许多其他问题。
PHP Code Sniffer 足够灵活,能够处理这些准则中的任何一个,并且可以配置为检查您的代码是否符合通用标准之一或您自己的自定义集。
近年来,PHP 世界已经确定了一组由 PHP-FIG (Framework Interop Group) 定义的通用标准。 .这些标准称为 PSR1、PSR2 等。对于 PHP Code Sniffer,您只需指定 --standard=psr2
即可根据 PSR 标准检查您的代码。
正如我所说,您可以使用其他标准,但现在大多数 PHP 代码都是按照 PSR 标准编写的,因此这是一个很好的起点。
与所有其他编码标准一样,PSR 标准纯粹是意见一致;不符合任何标准的代码不是“错误的”;只是更难阅读。
您引用的代码在几个方面不符合 PSR 标准,主要是您引用的位中变量名称的缩进和大写。
如果您想更改代码以满足标准,应该相当容易。 PHP 代码嗅探器还附带一个名为 PHPCBF(PHP 代码美化器和修复器)的配套工具,它可以自动更正至少一些 PHP 代码嗅探器检测到的错误。
另一种选择就是保持原样;如果这是一大块要合并到新项目中的旧代码,那么将其分开并从测试中简单地排除旧代码可能是有意义的。
关于php - array_shift(array_keys) - (array_pop) - 旧代码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32471092/
我得到了这个简单的例子来说明我遇到了什么问题。 假设你有: $myArray = array("A","B","C","D","E","F","I","G","H"); 目标是在循环中删除此数组的第
我的数组如下所示: $arValues = array( 345 => "jhdrfr", 534 => "jhdrffr", 673 => "jhrffr", 234 => "jfrhfr" );
我正在尝试删除最后一个数组的第一个元素 数组: $harbours = array( '67' => array('boat1', 'boat2'),
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章PHP array_shift()用法实例分析由作者收集整理,如果你对这
下面,调用箭头函数时,为什么我只得到第一个条目? array_shift($stack); var_dump($fruit()); var_dump($fruit()); var_dump($fru
好的,我需要在这个数组中保留键,我只想从这个数组中移动第一个元素。实际上我知道当我这样做时这个数组的第一个键总是 1: // Sort it by 1st group and 1st layout.
我正在创建一个数组并想删除数组的第一个元素并重新索引它。据我所知, array_shift() 是正确的解决方案。但是,它在我的实现中不起作用。 我有一个类的成员变量,它被定义为一个名为 $waypo
我正在尝试选择带有 col1 - col3 的表。我需要使用 array_shift 消除 col2 row1。这是我的代码: $data = array(); while ($row = mysql
当我尝试通过 verify_user 方法验证用户数据时 escape_string($username); $password = $database->escape_string($pas
我的代码可以追溯到 2011 年,而且我在代码布局方式的严格标准方面遇到了很多错误。 if (!isset($End)) { $Info['Ca
这个问题在这里已经有了答案: Only variables should be passed by reference (12 个回答) 6年前关闭。 我有一个错误: 严格的标准:只有变量应该通过引用
你会用哪个? 基本上我只想从数组中获取第一个元素,仅此而已。 最佳答案 嗯,他们做不同的事情。 array_shift($arr)从数组中取出第一个元素,并将其提供给您。 $arr[0] 只是给你..
我有一个数组中的文件列表,其中文件名是键,值是以秒为单位的最后修改日期。它们从最旧到最新排序。 文件被 glob() 放入,然后使用这种方式排序 asort($fileNameToLastModifi
重新开放: 因为 PHP 是一种服务器端语言,所以我假设我使用的浏览器并不重要,但显然不是这样。我一直只使用谷歌浏览器。 我在我的本地机器上安装了 WAMP,所以我可以在本地测试它,看看它是否与我的共
array_shift() expects parameter 1 to be array, null given in /home5/.../php/symfony/command/sfComman
我是一名优秀的程序员,十分优秀!