【问题标题】:Declare Array Inside Function Call PHP在函数调用 PHP 中声明数组
【发布时间】:2012-12-20 05:17:28
【问题描述】:

只是想知道除了array()之外,是否还有更简单的方法来在函数调用中声明数组

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

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

谢谢:D

【问题讨论】:

  • 注意:使用未定义的常量类型 - 假定为“类型”/注意:使用未定义的常量大小 - 假定为“大小”。您的sizetype 应该被引用,即'size''type'。见Why is $foo[bar] wrong?
  • @Pang,很好,我从来没有看过array()代码=oP
  • @cryptic 不知道 PHP 5.4+ 有速记数组文字。刚刚从你那里学到了一些新东西。

标签: php arrays function call


【解决方案1】:

如果您使用 PHP 5.4+,您可以使用简写,但它对性能没有影响,但实际上可能会使其更难阅读:

$setup->setup(['type' => 'static',
               'size' => 350]);

【讨论】:

  • 谢谢,我一定没有 5.4,因为我试过没有运气。我将通过一个多维数组发送,它将开始与所有这些数组()标签变得混乱
  • @str11,只要您正确缩进您的代码,它就可以在大型跨国数组中清晰可见。基本上在你的阵列上做print_r()。尝试模仿它用于数组的缩进,以帮助保持数组代码的可读性,在此您可以根据嵌套级别轻松区分什么是什么的一部分。
  • 你需要引用typesize,否则它会发出E_NOTICE
  • 查看演示here
  • Pang:除了数组中的引用之外,我不会将它们用于任何用途。不过感谢您的提醒。
【解决方案2】:

创建一个带有数组的 PHP 程序(学生),其内容如下 类别:student_id、student_name、student_address、 student_state、student_zip 和 student_age。内的一个函数 程序将接受所有值并限制数据类型 每个都通过了。该函数创建数组并将 值到数组中。显示数组中的值。使用 try/catch 如果一个或多个值不是 正确的数据类型。

【讨论】:

  • 我不确定,但这听起来更像是一个单独的问题。
猜你喜欢
  • 2019-10-26
  • 2021-02-23
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多