这是我的阵列:
$wp_session = array(
'id' => $id,
'id2' => $id2,
'p1' => $p1,
'p2' => $p2
);
结果是给了我一个Recursive_ArrayAccess
所以我搜索了如何修复它并遇到了这些答案:
PHP - Recursive Multidimension Array iterator PHP foreach() with arrays within arrays?
所以我添加/更改了我的foreach语句:
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($wp_session);
//Split the parameters with &
foreach ($iterator as $key => $value) {
if(!empty($value)){
$fields .= $key . '=' . $value . '&';
}
//Remove the last &
$fields2 = substr($fields, 0, -1);
}
然后页面中断了。
我也尝试过:
$iterator = array_walk_recursive($wp_session);
页面不会中断,但$ fields2不会在下一个foreach语句中输出数据。这是整个代码:
//Start a session
$wp_session = WP_Session::get_instance();
//Get the current parameters
$id = $_GET['id'];
$id2 = $_GET['id2'];
$p1 = $_GET['p1'];
$p2 = $_GET['p2'];
$wp_session = array(
'id' => $id,
'id2' => $id2,
'p1' => $p1,
'p2' => $p2
);
//array_walk_recursive($wp_session);
//$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($wp_session);
$iterator = array_walk_recursive($wp_session);
//Split the parameters with &
foreach ($iterator as $key => $value) {
if(!empty($value)){
$fields .= $key . '=' . $value . '&';
}
//Remove the last &
$fields2 = substr($fields, 0, -1);
}
if( is_admin() )
return $items;
//Get the menu items and add the above parameters to the menu items urls
foreach( $items as $item )
{
if($wp_session){
$item->url .= '?' . $fields2;
}
}
return $items;
有人可以解释一下我做错了什么吗?任何形式的帮助或建议将不胜感激!
答案 0 :(得分:2)
然后页面中断了。
该页面必须中断:
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($wp_session);
计算(
的数量,然后计算)
的数量,然后开始使用一个好的IDE。如果你仍然没有得到提示,那么你就是1 )
短。
答案 1 :(得分:2)