littleangel Posted August 31, 2014 Share Posted August 31, 2014 (edited) in my code below the **data is extracted correctly for the first foreach but doesn't return anything for 2nd foreach though selected one present inside the 2nd foreach** i still get the error Warning: Invalid argument supplied for foreach() for line `foreach ($authorlist as $post)`... however the 2nd foreach returns data correctly as soon as i remove the first foreach loop. below is my code <?php $all= get_posts(array('post_type' => 'books', 'numberposts' => -1,)); foreach ( $all as $post ) : setup_postdata($post); if (!empty($post)) { $booklink = array(); $booklist = get_field('booklist'); foreach ($booklist as $post) : setup_postdata($post); if (!empty($post)) { $booklink[] = strip_tags(get_field('booklink',$post)); } endforeach; wp_reset_postdata(); echo $booklink[0]; $authorname = array(); $authorlist = get_field('authorlist'); foreach ($authorlist as $post) : setup_postdata($post); if (!empty($post)) { $authorname[] = strip_tags(get_field('authorname',$post)); } endforeach; wp_reset_postdata(); echo $authorname[0]; } endforeach; ?> i did var_dump($authorlist) ...it returns bool(false) as long as foreach ($booklist as $post) loop is present. The moment i remove that loop then the dump shows the data of the authorlist correctly...how to get both the loops working together. u can see the output here http://myproject.byethost7.com/wp/?page_id=6 Edited August 31, 2014 by littleangel Quote Link to comment https://forums.phpfreaks.com/topic/290763-the-foreach-in-the-loop-returns-boolfalse-though-array-is-present/ Share on other sites More sharing options...
jcbones Posted August 31, 2014 Share Posted August 31, 2014 Not enough info. Post the array you are working with. There are a couple of custom functions in the code as well, we have no idea what those contain. It could all lead back to your error. Quote Link to comment https://forums.phpfreaks.com/topic/290763-the-foreach-in-the-loop-returns-boolfalse-though-array-is-present/#findComment-1489445 Share on other sites More sharing options...
CroNiX Posted August 31, 2014 Share Posted August 31, 2014 Because you foreach as $post in all of them. $post gets overwritten in the inner-loops. Name them different in each loop. Quote Link to comment https://forums.phpfreaks.com/topic/290763-the-foreach-in-the-loop-returns-boolfalse-though-array-is-present/#findComment-1489497 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.