我正在寻找操纵从MySQL查询生成的数组。 print_r格式返回以下内容:
Array([cols] => Array([0] => Array([label] => time [type] => number)[1] =>数组([label] => quantity [type] => number))[rows] =>数组([0] =>数组([c] =>数组([0] =>数组([v] => 8.8) [1] =>数组([v] => 3)))[1] =>数组([c] =>数组([0] =>数组([v] => 8.2 )[1] =>数组([v] => 4 )))[2] =>数组([c] =>数组([0 ] =>数组([v] => 7.3)[1] =>数组([v] => 1)))[3] =>数组([c] =>数组([0 ] =>数组([v] => 5.7)[1] =>数组([v] => 3)))[4] =>数组([c] =>数组([0 ] =>数组([v] => 4.9)[1] =>数组([v] => 2)))[5] =>数组([c] =>数组([0 ] =>数组([v] => 2.9)[1] =>数组([v] => 1)))[6] =>数组([c] =>数组([0 ] =>数组([v] => 1.6)[1] =>数组([v] => 1)))))
我将此输出放入数组美化器中以便更好地理解结构:http://phillihp.com/toolz/php-array-beautifier/
然而,即使使用这个更漂亮的版本,我也不确定如何访问特定元素。例如,我如何才能返回一对" 8.2",#34; 4"从这个数组上面加粗?任何对这种结构的见解都将不胜感激。
这是生成此数组的代码:
$return_structure = array(
'cols' => array (
// array('label' => 'name', 'type' => 'string'),
array('label' => 'time', 'type' => 'number'),
array('label' => 'quantity', 'type' => 'number')
),
'rows' => array()
);
while($row = mysql_fetch_assoc($result)) {
$return_structure['rows'][] = array('c' => array(
//array('v' => $row['name']),
array('v' => $row['time']),
array('v' => $row['quantity']),
));
提前感谢您的帮助! -Daniel
答案 0 :(得分:2)
一个很好的方式来获得一个漂亮的"快速查看是使用html "pre" tag:
在您的网络浏览器中查看它echo "<pre>";
print_r($array);
访问多维关联数组时,您可以:
1)使用循环遍历所有内容,您可能需要嵌套循环来完成此任务。即使使用一堆foreach loops,这也会变得非常混乱和繁琐。
类似的东西:
foreach ($arrayDImension as $subArray) {
foreach($subArray as $row -> $value) {
//access the rows & values here
}
}
OR
2)直接访问它们,假设您知道索引的名称等。您可以像这样访问它们:
print_r($array['rows'][3]['c'][0]['v']); // gives you 8.2
print_r($array['rows'][4]['c'][5]['v']); //gives you 4