我有一个php多维数组,它看起来像这样:
$fields = array( array('input', 'title', 'slug', 'keywords'),
array('textarea', 'content'),
array('radio', 'active', 'active2', 'active3', 'active4', 'active5')
);
我正在访问数组,就像这样。
然而,由于某些数组包含的值比其他数组多,我遇到了问题,正如您在下面$type<2…我该怎么解决这个问题?
for($type = 0; $type < 2; $type++) {
for($field = 0; $field < 2; $field++) {
echo $fields[$type][$field];
}
}
使用foreach
:
foreach ($fields as $values)
{
foreach ($values as $value)
{
echo $value;
}
}
您可以使用array_walk_recursive
:
<?php
array_walk_recursive($fields, 'echo');
?>
count()
为您提供数组中的项数:
for($type = 0; $type < count($fields); $type++) {
for($field = 0; $field < count($fields[$type]); $field++) {
echo $fields[$type][$field];
}
}
foreach
通常更容易使用,并且会创建更容易更改的代码。