我有:
$overr=array();
$overr[]=array("selector"=>array('vi'=>mysql_num_rows($myquery),'pes'=>
$pess,'prp'=>mysql_num_rows($my_3_query),'em_t'=>$u_h));//this is in a loop
如您所见,我正在尝试追加到数组($overr
)并在其中添加另一个数组。
问题是,它在$overr
内添加了2个数组,所以当我尝试使用选择键名来回显$overr
内的某个数组时,它不起作用,因为键名(选择器)在另一个数组内......如果这有意义的话。那么这是我回忆时得到的结果:
echo json_encode ($overr['selector']);//I know i shouldn't be using json_enocde for echoing but its only for temporary testing.
结果:
null
但是当我这样做时:
echo json_encode ($overr[9]);
它工作正常,并打印出第9个数组..
我尝试改变我追加数组的方式:
$overr[]="selector"=>array('vi'=>mysql_num_rows($myquery),'pes'=>
$pess,'prp'=>mysql_num_rows($my_3_query),'em_t'=>$u_h);//notice i don't have array at the beginning anymore.
这会返回语法错误。
我需要能够使用选择器作为键。
我没有正确附加到阵列吗?
非常感谢任何帮助。
答案 0 :(得分:0)
尝试
var_dump($overr[$arrayNumber]['selector']);
答案 1 :(得分:0)
我不确定这是否符合您的期望,但在您的第一种情况下,可以使用selector
作为关键。例如,获取第一个selector
:
$firstSelector = $overr[0]['selector'];
如果您更喜欢以其他方式书写,例如像:
$firstSelect = $overr['selector'][0];
您需要更改构建$overr
数组的方式。
//this is in a loop
$overr['selector'][] = array(
'vi' => mysql_num_rows($myquery),
'pes' => $pess,
'prp' => mysql_num_rows($my_3_query)
'em_t'=>$u_h
);
答案 2 :(得分:0)
使用[]括号追加到数组以数字形式附加。如果您的数组有一个现有条目,则追加将在索引1处添加。这就是$overr[9]
有效的原因。
您的循环会导致$overr
看起来像
$overr => array(
0 => array("selector" => array(...),
1 => array("selector" => array(...),
...
);
换句话说,“selector”键隐藏在另一个数组中,因此无法使用$overr['selector']
直接访问,而$overr[n]['selector']
n
是一些索引,具体取决于您的循环长度
如果要添加到selector
键数组,可以在循环中附加,如果已经设置了selector
键:
$overr['selector'][] = array(...)
如果这不能解答您的问题,请发布您要实现的目标示例。