Jwest100 Posted April 5, 2017 Share Posted April 5, 2017 I have this code which works as expected: foreach($bidders as $val) { $losing_bidder = ($val->email); echo $losing_bidder; } Let us assume the output is: Bob@email.com Joe@email.com Cindy@email.com Willis@email.com I need to have the loop always ignore (or not echo, or not process) the last value in the array. What adjustment to the code would accommodate that?? Thanks much! Quote Link to comment Share on other sites More sharing options...
Psycho Posted April 5, 2017 Share Posted April 5, 2017 I would remove the last element in the array before starting the loop. array_pop() 1 Quote Link to comment Share on other sites More sharing options...
Jacques1 Posted April 5, 2017 Share Posted April 5, 2017 Note that this modifies the original array, so the element is permanently lost. If you still need the full array for other purposes, use array_slice() instead. This returns a modified copy while leaving the original data alone. 1 Quote Link to comment Share on other sites More sharing options...
Psycho Posted April 6, 2017 Share Posted April 6, 2017 (edited) Note that this modifies the original array, so the element is permanently lost. Not if you assign the return value of array_pop() to a variable. <?php $lastBidder = array_pop($bidders); //$lastBidder is set to the value of the last value //$bidders now contains all values except the last value ?> But, yeah, if you still need the array to contain all the values for other purposes another process is needed. Edited April 6, 2017 by Psycho Quote Link to comment 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.