PHP Coding
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Codewalkers ForumsPHP RelatedPHP Coding

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Codewalkers Forums Sponsor:
  #1  
Old October 22nd, 2009, 02:38 AM
carula carula is offline
Registered User
Codewalkers Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Location: UK
Posts: 11 carula User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 27 m 30 sec
Reputation Power: 0
php5 - Foreach counter

I have struggled with the following problem without success and hope that you guys can help.

Is there a way of incrementing the pointer within a foreach loop so that I can retrieve 2 sets of contiguous values from the array and then continue the loop jumping the 2nd set of values? I have played about with next() but have got nowhere. What I need to do is

Code:
  foreach($viewBooks as $b)
   {
   echo $b->getID().$b->getTitle()."<br>"; 
//Some code here to retrieve the next set of values  and increment the pointer (by 2?)  before continuing the loop 

   }


Thanks

Reply With Quote
  #2  
Old October 22nd, 2009, 05:30 AM
IAmALlama IAmALlama is offline
Me
Click here for more information. Click here for more information
Click here for more information
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 1,937 IAmALlama User rank is Private First Class (20 - 50 Reputation Level)IAmALlama User rank is Private First Class (20 - 50 Reputation Level) 
Time spent in forums: 1 Week 5 Days 1 h 54 m 18 sec
Reputation Power: 4
a foreach loop keeps track of its own array pointer. meaning that things like next(), prev() or reset() don't really affect the array like you might think. Another option if the array uses numeric indexes is to use a for loop.
PHP Code:
 $array = array('a','b','c','d');
//loop through an array adding 2 on each iteration while we are below the count of the array.
for($i=0;$i<count($array);$i+=2){
    echo 
"<div>";
    echo 
$array[$i];
    echo 
"&nbsp;&nbsp;&nbsp;";
    if(isset(
$array[$i+1])) echo $array[$i+1];
    echo 
"</div>\n";
.
"</div>";


If we knew more about what you were trying to do though, there might be a more specific answer that could help. Seems to me if you wanted to get specific details about the next row you could just keep a row count and if count is even, echo one thing, odd echo another.
PHP Code:
 $array = array('a','b','c','d');
$cnt 0;
foreach(
$array as $value){
    if(
$cnt%2==0){
        echo 
"<div>";
        echo 
$value."&nbsp;&nbsp;&nbsp;";
    } else {
        echo 
$value;
        echo 
"</div>";
    }
    
$cnt++;


that should do pretty much the same thing.

Reply With Quote
  #3  
Old October 22nd, 2009, 05:50 AM
carula carula is offline
Registered User
Codewalkers Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Location: UK
Posts: 11 carula User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 27 m 30 sec
Reputation Power: 0
Thank you for your reply. I had come to the same conclusion but I am sure that I had read somewhere that next() advanced the array pointer within the loop but looks as if I am mistaken. Using the counter works fine so I shall stop looking. Thank you again for taking the trouble to reply.

Reply With Quote
Reply

Viewing: Codewalkers ForumsPHP RelatedPHP Coding > php5 - Foreach counter


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump




 Free IT White Papers!
 
How to Present Effectively Online
This white paper offers practical and actionable advice on the key steps that any presenter should consider as they plan and execute a Webinar or online meeting.

Request Your Free Technology Downloads!
 
Open Source Security Myths
Open Source Software (OSS) is computer software whose source code is available to the general public with relaxed or non-existent intellectual property restrictions (or arrangement such as the public domain), and is usually developed with the input of many contributors.

Request Your Free Technology Downloads!
 
Power and Cooling Capacity Management for Data Centers
This paper describes the principles for achieving power and cooling capacity management.

Request Your Free Technology Downloads!
 
Scalable, Fault-Tolerant NAS for Oracle - The Next Generation
For several years NAS has been evolving as a storage alternative for Oracle databases, and for good reason: NAS is quite often the simplest, most cost-effective storage approach for Oracle. Learn about the benefits that HP's approach to scalable NAS brings to Oracle environments in this comprehensive white paper.

Request Your Free Technology Downloads!
 
Understanding Web Application Security Challenges
This white paper discusses many common threats and preventive measures for Web application security, and explains what you can do to help protect your organization.

Request Your Free Technology Downloads!
 

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 




© 2003-2009 by Developer Shed. All rights reserved. DS Cluster 3 Hosted by Hostway
For more Enterprise Application Development news, visit eWeek