Php 打印多维数组
我用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
$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