首页 > 解决方案 > 如何在php中创建一个与字符串具有相同值的数组

问题描述

我想创建这个:

"Presentes" => array(
   "Run" => array("numero" => 123, "dv" => 1),
   "Run" => array("numero" => 1234, "dv" => 2),
   "Run" => array("numero" => 12345, "dv" => 3)
)

使用相同的字符串键。我需要用数组递归地创建这样的东西:

<mine:Presentes> 
<mine:Run> 
<mine:numero>15166706</mine:numero> 
<mine:dv>6</mine:dv> 
</mine:Run> 
<mine:Run> 
<mine:numero>15166707</mine:numero> 
<mine:dv>4</mine:dv> 
</mine:Run> 
<mine:Run> 
<mine:numero>19358721</mine:numero> 
<mine:dv>6</mine:dv> 
</mine:Run> 
<mine:Run>
 <mine:numero>20458780</mine:numero> 
<mine:dv>9</mine:dv> 
</mine:Run> 
</mine:Presentes>

标签: phparrays

解决方案


键在数组中必须是唯一的,因此您必须添加另一个维度:

$array = array("Presentes" => array(
   array("Run" => array("numero" => 123, "dv" => 1)),
   array("Run" => array("numero" => 1234, "dv" => 2)),
   array("Run" => array("numero" => 12345, "dv" => 3))
));

产量:

Array
(
    [Presentes] => Array
        (
            [0] => Array
                (
                    [Run] => Array
                        (
                            [numero] => 123
                            [dv] => 1
                        )
                )
            [1] => Array
                (
                    [Run] => Array
                        (
                            [numero] => 1234
                            [dv] => 2
                        )
                )
            [2] => Array
                (
                    [Run] => Array
                        (
                            [numero] => 12345
                            [dv] => 3
                        )
                )
        )
)

或这个:

$array = array("Presentes" => array("run" => array(
   array("numero" => 123, "dv" => 1),
   array("numero" => 1234, "dv" => 2),
   array("numero" => 12345, "dv" => 3)
)));

产生:

Array
(
    [Presentes] => Array
        (
            [run] => Array
                (
                    [0] => Array
                        (
                            [numero] => 123
                            [dv] => 1
                        )
                    [1] => Array
                        (
                            [numero] => 1234
                            [dv] => 2
                        )
                    [2] => Array
                        (
                            [numero] => 12345
                            [dv] => 3
                        )
                )
        )
)

推荐阅读