【发布时间】:2011-01-01 03:27:18
【问题描述】:
如果你有一个关联数组:
Array
(
[uid] => Marvelous
[status] => 1
[set_later] => Array
(
[0] => 1
[1] => 0
)
[op] => Submit
[submit] => Submit
)
你想访问第二个项目,你会怎么做? $arr[1] 似乎不起作用:
foreach ($form_state['values']['set_later'] as $fieldKey => $setLater) {
if (! $setLater) {
$valueForAll = $form_state['values'][$fieldKey];
$_SESSION[SET_NOW_KEY][array_search($valueForAll, $form_state['values'])] = $valueForAll; // this isn't getting the value properly
}
}
这段代码应该产生:
$_SESSION[SET_NOW_KEY]['status'] = 1
但它只会产生一个空白条目。
【问题讨论】:
-
是否可以将 set_later 中的键更改为字段名称?所以 $form_state['values']['set_later'] = array('uid' => 1, 'status' => 0)?这将解决问题并消除对 array_search 的需求。
标签: php associative-array