Php 将数组定义为函数调用的一部分是否不好?

Php 将数组定义为函数调用的一部分是否不好?,php,arrays,function,Php,Arrays,Function,通过使用WordPress并查看代码示例,我看到了两种不同的使用函数数组的方法: 1。首先定义数组,然后将其作为参数传递到函数中 $args = array( 'name' => 'Home right sidebar', 'id' => 'home_right_1', 'before_widget' => '<div>', 'after_widget' => '</div>', 'before_title'

通过使用WordPress并查看代码示例,我看到了两种不同的使用函数数组的方法:

1。首先定义数组,然后将其作为参数传递到函数中

$args = array(
    'name' => 'Home right sidebar',
    'id' => 'home_right_1',
    'before_widget' => '<div>',
    'after_widget' => '</div>',
    'before_title' => '<h2 class="rounded">',
    'after_title' => '</h2>', 
 );
register_sidebar( $args );
$args=array(
'name'=>'Home right sidebar',
'id'=>'home\u right\u 1',
'在小部件'=>''之前,
'在小部件'=>''之后,
“在标题“=>”之前,
“在标题“=>”之后,
);
register_侧边栏($args);
2。将数组定义为函数调用的一部分

register_sidebar( array(
    'name' => 'Home right sidebar',
    'id' => 'home_right_1',
    'before_widget' => '<div>',
    'after_widget' => '</div>',
    'before_title' => '<h2 class="rounded">',
    'after_title' => '</h2>', 
 ) );
register\u侧栏(数组(
'name'=>'Home right sidebar',
'id'=>'home\u right\u 1',
'在小部件'=>''之前,
'在小部件'=>''之后,
“在标题“=>”之前,
“在标题“=>”之后,
) );
将数组定义为函数调用的一部分(#2)是一种不好的做法,还是一种样式选择


如果这是坏习惯,为什么?

不,这不是坏习惯。


如果要重用阵列,必须选择第一种可能性。否则,选择取决于您。

没有选择是不好的做法,这都是关于可读性的。由于可读性,我个人更喜欢选择1

这仅仅是一个最适合你的案例。只需在#2上做一个注释,为了可读性,我会将其改写为

register_sidebar( 
    [
        'name'          => 'Home right sidebar',
        'id'            => 'home_right_1',
        'before_widget' => '<div>',
        'after_widget'  => '</div>',
        'before_title'  => '<h2 class="rounded">',
        'after_title'   => '</h2>', 
    ]
);
register\u侧边栏(
[
'name'=>'Home right sidebar',
'id'=>'home\u right\u 1',
'在小部件'=>''之前,
'在小部件'=>''之后,
“在标题“=>”之前,
“在标题“=>”之后,
]
);
编辑
注意:上述数组语法([])仅在PHP5.4中可用。如果您碰巧使用了旧版本(您确实不应该这么做),请将短数组语法改回旧语法(array())

它在任何方面如何特定于wordpress?我也不担心,但我更喜欢第一个。在宏伟的计划中,虽然这是微不足道的。更重要的是,这不是一个WordPress问题,它甚至不是一个PHP问题,它是一个通用编程问题,在堆栈上会更好overflow@TomJNowell好的,当然。我不知道我是否应该遵循某种WP编码风格(这就是问题所在),但我也不确定PHP或WordPress有什么样的垃圾处理方式,所以这就是我为什么先去那里的原因。也许我错了,但第一个选项(如果用全局名称空间编写的话)变量在脚本完成之前不会被销毁,而第二个选项参数将在函数末尾被销毁。请注意,
[]
数组语法需要PHP 5.4或更高版本。(您应该使用它,但如果您没有…)@Dashwuff我知道这是PHP5.4语法。但如果你不是…,那么你肯定想在不久的将来被黑客攻击。人们不能仅仅因为仍然有主机和用户被恐龙困住,就继续用糟糕的老方法做事。拥有所有这些强大的特性和语法,而不使用iT贪婪,到底有什么用呢!我只是简单地指出这一点,以便任何不幸使用PHP5.3或更早版本的人都会知道为什么会出现语法错误。