Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 打印多维数组_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 打印多维数组

Php 打印多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我用PHP编写了以下代码: $rules = array( "s0" => array( "a" => "s1_s2_s3", "b" => "s2_s3" ), "s1_s2" => array( "a" => "s1_s2", "b" => "s2_s3" ), ); 要这样打印它: s0 -- a --- s1_s2_s3 s0 -- b --- s

我用PHP编写了以下代码:

$rules = array(
    "s0" => array(
        "a" => "s1_s2_s3",
        "b" => "s2_s3"    
    ),
    "s1_s2" => array(
        "a" => "s1_s2",
        "b" => "s2_s3"
    ),
);
要这样打印它:

s0 -- a --- s1_s2_s3
s0 -- b --- s2_s3
s1_s2 -- a --- s1_s2
s1_s2 -- b --- s2_s3
我该怎么做?

这就是你该怎么做:

$rules = array(
    "s0"  => array(
        "a" => "s1_s2_s3",
        "b" => "s2_s3"
    ),
    "s1_s2" => array(
        "a" => "s1_s2",
        "b" => "s2_s3"
    ),
);


foreach ($rules as $key => $args) {
    foreach ($args as $key2 => $vals) {
        print $key . ' -- ' . $key2 . ' --- ' . $vals . '<br>';
    }
}
要在索引处添加或更新数组,请执行以下操作:

$rules['another']['c'] = 'change c value';

要实现这一点,必须遍历数组。为此,需要一个循环,在PHP中,有一个函数
foreach
。这是一个例子-

给定数组:

$rules = array("s0" => array("a" => "s1_s2_s3",
                              "b" => "s2_s3"    
                              ),
               "s1_s2" => array("a" => "s1_s2",
                                "b" => "s2_s3"
                               )
                );

foreach ($rules as $key => $value) {
    foreach ($value as $sub_key => $sub_val) {
        echo "<p>".$key." -- ".$sub_key." --- ".$sub_val."</p>";
    }
}
s0 -- a --- s1_s2_s3
s0 -- b --- s2_s3
s1_s2 -- a --- s1_s2
s1_s2 -- b --- s2_s3

谢谢,我和你一样,但我忘了“价值”:)谢谢,我和你一样,但我忘了“价值”:)如果它对你有效,请把我的答案标记为正确的:-)和一个简单的问题。是任何数组函数,我如何用这三个“元素”添加新的数组值?比如数组推送?我可以用变量吗?例如:array_push($rules,[$state1=>[$alphabet=>$state2]]);是的,你可以。您应该仔细阅读数组、数据结构和变量。你付出的努力是惊人的。
s0 -- a --- s1_s2_s3
s0 -- b --- s2_s3
s1_s2 -- a --- s1_s2
s1_s2 -- b --- s2_s3