我在这里有点迷失了这个阵列,如果可以,我需要一些“光”。
我的情况是:将某些静态数据从数组更改为foreach生成的数据。
静态php代码示例如下:
$p->data = array(
array(
array("A",148), //value_1 for letter A
array("B",238), //value_1 for letter B
array("C",151) //value_1 for letter C
),
array(
array("A",238), //value_2 for letter A
array("B",338), //value_2 for letter B
array("C",285) //value_2 for letter C
),
array(
array("A",278), //value_3 for letter A
array("B",138), //value_3 for letter B
array("C",205) //value_3 for letter C
)
);
我的问题是:当我尝试使用foreach生成相同的结果时,我做错了..我已经尝试过嵌套的foreach并且什么都没做(或者做错了),但这是我从我需要的结果中最接近的地方:
foreach($result as $reg){
$p->data = array(
array(
array($reg['letters'],$reg['value_1'])
),
array(
array($reg['letters'],$reg['value_2'])
),
array(
array($reg['letters'],$reg['value_3'])
)
);
};
相反,我只得到具有正确值的第一个字母。如果我使用“$ p-> data []”来显示其他字母,则它不起作用。
我从上面的代码得到的var_dump()如下:
array(3) {
[0]=> array(1) {
[0]=> array(2) {
[0]=> string(1) "A"
[1]=> int(148) }
}
[1]=> array(1) {
[0]=> array(2) {
[0]=> string(1) "A"
[1]=> int(238) }
}
[2]=> array(1) {
[0]=> array(2) {
[0]=> string(1) "A"
[1]=> int(278) }
}
}
如您所见,只有第一个变量'letter'来自数组。我需要其他人,比如:
array(3) {
[0]=> array(3) {
[0]=> array(2) {
[0]=> string(1) "A"
[1]=> int(148)
}
[1]=> array(2) {
[0]=> string(1) "B"
[1]=> int(238)
}
[2]=> array(2) {
[0]=> string(1) "C"
[1]=> int(151)
}
}
[1]=> array(3) {
[0]=> array(2) {
[0]=> string(1) "A"
[1]=> int(238)
}
[1]=> array(2) {
[0]=> string(1) "B"
[1]=> int(338)
}
[2]=> array(2) {
[0]=> string(1) "C"
[1]=> int(285)
}
}
[2]=> array(3) {
[0]=> array(2) {
[0]=> string(1) "A"
[1]=> int(278)
}
[1]=> array(2) {
[0]=> string(1) "B"
[1]=> int(138)
}
[2]=> array(2) {
[0]=> string(1) "C"
[1]=> int(205)
}
}
}
解释代码:在foreach im中使用..我从数据库中获取值。每个变量“Letter”都有3个变量“Values”。我想要做的是为每个数组上分隔的每个字母显示一个相同的变量值。
有人能指出我正确的方向吗?谢谢大家o /
答案 0 :(得分:0)
什么是$ reg ['letters']? $ result来自哪里?
你需要一个字母数组,你需要迭代它。我可以提供更多信息。