多维数组(2D,3D或多维数组中的限制是什么)和foreach()的用途是什么? foreach()用于在数组内打印值? 在多维数组的情况下,为什么嵌套循环很重要?
错误:
注意:第9行的C:\ xampp \ htdocs \ example \ basic \ foreach2.php中的数组到字符串转换 Arrayarray(3){[0] => int(4)[1] => int(5)[2] => int(7)}
注意:第11行 C:\ xampp \ htdocs \ example \ basic \ foreach2.php中的数组到字符串转换
$items = array(1,2,3,
array(4,5,7
),
8,54,4,5,5);
foreach($items as $key => $value)
{
echo $value;
var_dump($value);
echo $key ."pair match".$value . "<br>";
}
我如何访问此阵列?
$a_services = array(
'user-login' => array(
'operations' => array(
'retrieve' => array(
'help' => 'Retrieves a user',
'callback' => 'android',
'file' => array('type' => 'inc', 'module' => 'android_services'),
'access callback' => 'services',
'args' => array(
array(
'name' => 'phone_no',
'type' => 'string',
'description' => 'The uid ',
'source' => array('path' => 0),
'optional' => FALSE,
),
),
),
),
),
);
print_r($a_services['$android_services ']['user-login']['operations']['retrieve']['callback']);
print_r($a_services['$android_services ']['user-login']['operations']['retrieve']['callback']['args']['name']);
错误1.注意:数组转换为字符串 2.未定义的索引:$ android_services 3.如何在foreach的帮助下打印 4.上面的数组是4维??????
答案 0 :(得分:0)
要遍历这种数组,你需要某种递归。
我通常在每个内部调用一个函数。该函数测试当前元素是否为数组。如果是这样,函数会自行调用。如果不是,则函数执行任何操作(回显示例中的值)。
类似的东西:
foreach($a_services as $key => $value) {
do_your_thing($value);
}
function do_your_thing($recvalue)
{
if (is_array($recvalue))
{
foreach($recvalue as $key => $value)
{
do_your_thing($value);
}
}
else
{
echo $recvalue;
}
return $recvalue;
}
答案 1 :(得分:0)
您可以在PHP中定义多维数组(包括其他数组的数组)。
例如,您有2个不同的列表,一个用于购物,一个用于日常任务。
$lists = array(
'grocery' => array('banana', 'apple'),
'tasks' => array('go to work', 'wash dishes'),
);
如果要检查所有级别的数组,则应使用嵌套循环。例如,您可以使用foreach
,它将在第一级迭代数组。
foreach($lists as $list)
return $list; // returns grocery[] and tasks[]
当你看到这个循环返回其他循环时。因此,如果您需要列出所有grocery []数组项,则需要在此数组中再次迭代。
foreach($lists as $list)
foreach($list as $k => $l)
if($k == 'grocery')
echo $l; // echos "banana","apple"
嵌套循环对于达到多维数组内容很重要(也是必要的),特别是如果您不知道数组的结构。这些循环将为您找到所有数组项。但是,如果你知道结构,你可以直接使用$lists['grocery']
到杂货店阵列或$lists['grocery'][0]
到达你的购物清单的第一个元素。