¿Determinar la primera y la última iteración en un bucle foreach en PHP?

Dada una array de elementos, la tarea es determinar la primera y la última iteración en el ciclo foreach. Hay muchas maneras de resolver este problema que se enumeran a continuación:
Método 1: es el método ingenuo dentro del bucle foreach para encontrar la iteración. Use una variable de contador y verifique cuando el valor del contador es cero, entonces es la primera iteración y cuando el valor del contador es longitud-1, entonces es la última iteración.
Ejemplo: 
 

php

<?php
 
// PHP program to get first and
// last iteration
 
// Declare an array and initialize it
$myarray = array( 1, 2, 3, 4, 5, 6 );
 
// Declare a counter variable and
// initialize it with 0
$counter = 0;
 
// Loop starts from here
foreach ($myarray as $item) {
     
    // Check condition if count is 0 then
    // it is the first iteration
    if( $counter == 0 ) {
         
        // Print the array content
        print( $item );
        print(": First iteration \n");
    }
     
    // Check condition if count is length -1
    // then it is last iteration
    if( $counter == count( $myarray ) - 1) {
         
        // Print the array content
        print( $item );
        print(": Last iteration");
    }
         
    $counter = $counter + 1;
}
 
?>
Producción: 

1: First iteration 
6: Last iteration

 

Método 2: usar la función de reinicio y finalización para encontrar la primera y la última iteración. La función reset() es una función incorporada en PHP que toma el nombre de la array como argumento y devuelve el primer elemento de la array. La función end() es una función incorporada en PHP que toma el nombre de la array como argumento y devuelve su último elemento.
Ejemplo: 
 

php

<?php
 
// PHP program to get first and
// last iteration
 
// Declare and array and initialize it
$myarray = array( 1, 2, 3, 4, 5, 6 );
 
// Loop starts here
foreach ( $myarray as $item ) {
     
    // Check item and the return value of
    // reset() function is equal then it
    // will be the first iteration
    if ( $item === reset( $myarray ) ) {
         
        // Display the array element
        print( $item );
        print(": First iteration \n");
    }
     
    // Check if item and return value of
    // end() function is equal then it
    // will be last iteration
    else if( $item === end( $myarray ) ) {
         
        // Display the array element
            print( $item );
        print(": :ast iteration \n");
    }
}
?>
Producción: 

1: First iteration 
6: :ast iteration

 

Método 3: La función reset() se usa para encontrar la primera iteración en el ciclo foreach. Cuando no hay ningún elemento siguiente disponible en una array, será la última iteración y se calcula mediante la función next() .
Ejemplo: 
 

php

<?php
 
// PHP program to get first and
// last iteration
 
// Declare an array and initialize it
$myarray = array( 1, 2, 3, 4, 5, 6 );
 
// Assign first array element to variable
$first = reset( $myarray );
 
// Loop starts here
foreach ($myarray as $item) {
     
    // Check if item is equal to first
    // element then it is the first
    // iteration
    if ($item == $first) {
         
        // Display array element
        print( $item );
        print(": First iteration \n");
    }
     
    // If there is no next element
    // in array then this is last iteration
    if( !next( $myarray ) ) {
         
        // Display array element
        print( $item );
        print(": Last iteration \n");
    }
}
?>
Producción: 

1: First iteration 
6: Last iteration

 

Publicación traducida automáticamente

Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *