Php 将静态数组转换为foreach循环生成的
我对这个阵列有点迷茫,如果可以的话,我需要一些“光” 我的情况是:将一些静态数据从数组更改为foreach生成的数据 静态php代码示例如下所示:Php 将静态数组转换为foreach循环生成的,php,arrays,loops,foreach,Php,Arrays,Loops,Foreach,我对这个阵列有点迷茫,如果可以的话,我需要一些“光” 我的情况是:将一些静态数据从数组更改为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
$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
)
);
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) }
}
}
我的问题是:当我试图用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()如下所示:
$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
)
);
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中使用。。我正在从数据库中获取值。每个变量“字母”有3个变量“值”。我想做的是为每个数组中分隔的每个字母显示一个相同的变量值
有人能给我指一下正确的方向吗?谢谢大家o/什么是$reg['letters']?$result从何而来
您将需要一个字母数组,并且需要对其进行迭代。再多给我一点信息,我可以举个例子。什么是$reg['letters'?$result从何而来
您将需要一个字母数组,并且需要对其进行迭代。如果有更多的信息,我可以提供一个例子。$reg['letters']-'letters'是我数据库中的一列。我使用foreach读取sql结果中的每个句子。”字母是此结果的一部分。$result[0]['letters']='ABC';也是如此吗;?如果你有‘value_1’、‘value_2’、‘value_3’,你能不能没有‘letter_1’、‘letter_2’、‘letter_3’?对不起,我的意思是这样的,$result[1]、[2]。[3] 等等,如果它为每个返回一个,则意味着它为每个返回相同的结果。这就是错误所在。我正在尝试获取eacn字母的值[1,2和3]。但是我只得到第一个字母的值[1,2和3]。每个字母都有来自3个不同变量的3个不同值。$reg['letters']-'letters'是我数据库中的一列。我使用foreach读取sql结果中的每个句子。”字母是此结果的一部分。$result[0]['letters']='ABC';也是如此吗;?如果你有‘value_1’、‘value_2’、‘value_3’,你能不能没有‘letter_1’、‘letter_2’、‘letter_3’?对不起,我的意思是这样的,$result[1]、[2]。[3] 等等,如果它为每个返回一个,则意味着它为每个返回相同的结果。这就是错误所在。我正在尝试获取eacn字母的值[1,2和3]。但是我只得到第一个字母的值[1,2和3]。每个字母有来自3个不同变量的3个不同值。