PHP函数调用中声明数组

3

嘿,我在想除了使用array()之外,有没有更简单的方法在函数调用中声明数组。

$setup = new setupPage();
$setup->setup(array(
                   type => "static",
                   size => 350
                 ));

class setupPage {
    public function setup($config){
        echo $config[size] . $config[type];
    }
}

感谢:D

2
注意:使用未定义的常量类型 - 假定为'type' / 注意:使用未定义的常量大小 - 假定为'size'。您的 sizetype 应该用引号括起来,即 'size''type'。请参阅为什么 $foo[bar] 是错误的? - Pang
@Pang,好眼力,我从来没有看过array()代码 =oP - cryptic ツ
1
@cryptic 我不知道PHP 5.4+有简写数组字面量。刚从你这里学到了新东西。 - Pang
1
@Pang http://us3.php.net/manual/zh/language.types.array.php#example-82 - cryptic ツ
2个回答

6
如果您使用PHP 5.4及以上版本,可以使用简写方式,但实际上这并不影响性能,反而可能使代码更难读懂:
$setup->setup(['type' => 'static',
               'size' => 350]);

谢谢,我可能没有5.4版本,因为我尝试了但没有成功。我将发送一个多维数组,这将开始变得混乱,带有所有这些array()标记。 - str11
只要您正确缩进代码,即使是使用大型多维数组,代码也会清晰易读。基本上,在数组上执行 print_r()。尝试模仿它用于数组的缩进方式,以帮助保持数组代码的可读性,使您可以轻松区分根据嵌套级别属于哪个部分。 - cryptic ツ
1
你需要引用“type”和“size”,否则它会发出一个“E_NOTICE”提示。 - Pang
请点击此处查看演示链接 - Pang
Pang:我只会将它们用作数组中的参考,谢谢你提醒我。 - str11

-1
创建一个包含以下类别的 PHP 数组(学生):student_id、student_name、student_address、student_state、student_zip 和 student_age。程序内部的一个函数将接受所有值,并限制传递的每个数据类型。该函数创建数组并将值放入其中。显示数组中的值。使用 try/catch 显示错误消息,如果一个或多个值不是正确的数据类型。

我不确定,但这听起来更像是一个单独的问题。 - shaedrich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接