关于关联数组PHP的查询

时间:2009-10-12 06:30:51

标签: php

我对php中的关联数组有疑问。

我有以下数组,其中有两个项目分别名为4和2。

$items = array(4,2);

现在我想将每个项目的数量与它相关联,可以按如下方式进行:

$items['4']=23;
$items['2']=0;

表示有23个,“第4项”和“第2项”。

但我有时事先并不知道 $ items 中有什么,所以我想根据位置关联数量。我想做一些像关联23到 item 数组的零位置上的内容:

$items['items[0]']=23;

这当然不起作用,因为它不是正确的方法来提取放置在物品的零位置上的任何东西。谁能告诉我我该怎么做?

3 个答案:

答案 0 :(得分:2)

您对项目和项目的使用感到困惑。我想你有一个项目数组和一个项目数组,否则事情很容易变得毛茸茸。

无论如何,你只是将它称为变量,而不是字符串:

$items[$item[0]] = 23;

答案 1 :(得分:0)

让我直截了当。所以你从一个看起来像这样的数组开始:

$items = array( 0 => 4, 1 => 2 )

并且你想得到一个如下所示的数组:?!

$items = array( 0 => 4, 1 => 2, 2 => 0, 4 => 23 )

答案 2 :(得分:0)

我认为你应该将你的数组用作一种“地图”。物品编号是您的钥匙,也是您的价值数量。

致电

$items = array(4,2);

你创建

$items[0] = 4;
$items[1] = 2;

但是你想在数组中使用4和2作为键。所以你应该使用

$items = array( 4 => false, 2 => false );

其中false表示尚未关联数量的项目(也可以是例如-1)。 这会创建

$items[2] = false;
$items[4] = false;

使用false时,您可以通过调用

来检查未分配的值
if ($items[4] === false) {
  echo "No quantity set!";
}

现在第二步......如果你想为#4项目分配数量为23,请致电

$items[4] = 23;

所以我认为你不会想要依赖数组中的顺序..