Php 将静态数组转换为foreach循环生成的

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

我对这个阵列有点迷茫,如果可以的话,我需要一些“光”

我的情况是:将一些静态数据从数组更改为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
        )
);
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个不同值。