【问题标题】:two-dimensional array inside two-dimensional arrays in phpphp中二维数组内的二维数组
【发布时间】:2017-01-19 11:31:12
【问题描述】:

有可能实现这样的目标吗?包含二维交错数组的二维数组?

$jobOrder = array(array(1, "Web Developer", 100, 
                        array(array(1, "PHP", 1),
                              array(2, "HTML", 1), array(3, "JAVA", 1)),
                        array(array(1, "pleasing personality", 1), 
                              array(2, "english skills", 1)), 0), 
                 array(2, "Senior Programmer", 50, 
                       array(array(3, "Phython", 1), 
                             array(5, "RUBY", 1), 
                             array(10, "c#", 1)), 
                       array(array(5, "good social skills", 1), 
                             array(11, "management skills", 1))));

我想将 Job Order 详细信息存储到一个数组中,该数组应包含 orderID、职位名称、职位空缺数、技能(可能有多个技能,因此存储在一个数组中;2-d 因为我还想存储 SkillID、技能名称和标志:是否删除),资格(可能有多个与技能相同的资格),要求和福利(也与技能相同)。我想知道如何访问它。

【问题讨论】:

  • 是的,数组可以无限嵌套。
  • 是的,这也是可能的。您只需在每个级别的末尾添加更多[#]。但是一个提示,您可能会遇到必须重复代码行并使其更难维护的可能性。假设您有多个使用 "JAVA" 的角色,后来您发现需要将其更改为 "JavaScript"。确定您可以进行查找和替换,但是如果您犯了拼写错误怎么办?一个想法是为您的编程语言创建一个单独的数组,然后执行array(1, "Web Developer",100,array($progSkills[3]))之类的操作
  • 感谢您的回答。我也想表达我的感激之情,给我一些提示,我一定会记住这一点:)

标签: php arrays multidimensional-array jagged-arrays


【解决方案1】:

你可以像这样访问元素:

$jobOrder = array(array(1, "Web Developer", 100, 
                        array(array(1, "PHP", 1),
                              array(2, "HTML", 1), array(3, "JAVA", 1)),
                        array(array(1, "pleasing personality", 1), 
                              array(2, "english skills", 1)), 0), 
                 array(2, "Senior Programmer", 50, 
                       array(array(3, "Phython", 1), 
                             array(5, "RUBY", 1), 
                             array(10, "c#", 1)), 
                       array(array(5, "good social skills", 1), 
                             array(11, "management skills", 1))));

 print_r($jobOrder[0][3]);

我将打印数组,您也可以通过添加更多索引来访问数组中的元素。

【讨论】:

    【解决方案2】:

    是的,因为您可以在数组中存储数组行数:这意味着您可以在数组中添加行数以及元素数,即使它可以是您定义的多维数组。

    【讨论】:

    • 感谢您的回答。我也想知道我应该如何访问那些内部二维数组。
    • @ArleneMariano echo $jobOrder[0][3][0][1]; //=php
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    相关资源
    最近更新 更多