如何通过索引定位多维关联数组我需要能够做一些类似这样的事情。。。
$x=2;
$assoc_array = array(
"red" => array(1,2,3,4,5),
"green" => array(1,2,3,4,5),
"blue" => array(1,2,3,4,5)
);
array_push($assoc_array[$x],6);
实际上可以做到这一点。作为替代方案,您可以使用$assoc_array[$x][] = 6
编辑:以上是您所问问题的答案。下面的代码是我认为你需要的,但没有明确说明:
$x = 2;
$keys = array_keys($assoc_array);
var_dump($assoc_array[$keys[$x]]);
工作代码板示例:http://codepad.org/QXfHmKH8
我证明它有效:http://codepad.org/G81fsTzl
红色为0,绿色为1,蓝色为2或$x=2部分。
如果我的答案是正确的,一定要选中这篇文章左边的复选框,这样我就可以获得分数。分数激励我继续回答问题。谢谢你抽出时间。
$x=2;
$assoc_array = array(
"red" => array(1,2,3,4,5),
"green" => array(1,2,3,4,5),
"blue" => array(1,2,3,4,5)
);
$c = 0;
foreach ($assoc_array as $key => $value)
{
if ($c == $x)
{
array_push($value, 6);
$assoc_array[$key] = $value;
}
$c++;
}
您必须通过键引用它们,在本例中,键是您给定的颜色值。要在第一个项目(红色)中添加新元素,您可以使用:
$assoc_array["red"][] = 6;
使用$assoc_array[$x][]=6;将创建一个标识符为$x的新数组键,除非$x是红色、绿色或蓝色。
上面的方法有效,但如果您只想引用现有的数组值,则会非常复杂。
将字符串值作为数组键的部分想法是允许通过相关字符串而不是无意义的数字轻松引用数组值。