PHP多维数组键和值



我真的很难在PHP中获得多维数组,我的背景是C和Java,我对数组都没有问题!

我正试图从SQL数据库中读取一个月的列表,每个月都有一个值对应的值列表。

ie。

  2014-01-01, ("Val1", "Val2", "Val3", "Val4", "Val5"), (3, 4, 7, 5, 3)
  2014-02-01, ("Val1", "Val2", "Val3", "Val4", "Val5"), (5, 3, 6, 2, 8)
  2014-03-01, ("Val1", "Val2", "Val3", "Val4", "Val5"), (6, 5, 4, 3, 2) ...

我可以读取这些值,我可以将它们拆分,但我希望能够将这些值添加到数组中,并将值放入正确的月份。

在c/Java中,我将创建一个像这样的数组;

[0,0,0,0,0,0,0,0,0,0,0,0]  - Val1 goes in here
[0,0,0,0,0,0,0,0,0,0,0,0]  - Val2 goes in here
[0,0,0,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,0,0,0,0,0,0,0]  - Val5 goes in here

那么当我解析这些值时,我将选择月份,并将读取到的值添加到正确的月份中。

我可以在PHP中创建数组,我只需要知道,有一种非常明显的方法,我在咖啡/睡眠不足的状态下忽略了它我基本上可以说;

如果我想把第二个数组中的位置11改为6在C语言中,我将是这个;

array[2][11] = 6

在PHP中是否有等价的操作?

这样可以:

$myArray[2][11] = 6;
$myArray[2][12] = 7;
var_dump( $myArray ); //view structure

数组访问的快速示例

$data = [
    '2014-06-24' => ['Val1', 'Val2', 'Val3'],
    '2014-06-23' => ['Val1', 'Val2', 'Val3']
];

在PHP中有不同的数组访问方式。数组中的内部迭代器以0开头。您可以快速地执行以下操作。

$data['2014-06-24'][0] = 'Val4';

那么你的$data数组看起来就像

$data = [
    '2014-06-24' => ['Val4', 'Val2', 'Val3'],
    '2014-06-23' => ['Val1', 'Val2', 'Val3']
];

以一种更面向对象的方式,你可以使用standardphpllibrary (SPL)的ArrayObject类,它提供了许多方法和对象(接口,迭代器等)来处理数组。

相关内容

  • 没有找到相关文章

最新更新