toggle en PHP
Una de las cosas que utilizamos muy a menudo cuando desarrollamos es el uso de tablas o listas con clases alternas para mostrar información, con esto conseguimos distinguir con mayor facilidad los datos. Cada persona tiene su maña, algunos usan un true o false.
if($var) {
$var = false;
echo 'toggle';
} else {
$var = true;
echo 'toggle2';
}
Otros el tanto por ciento para saber si es par o impar.
if(($i + 1) % 2 == 0) echo '';
else echo 'toggle';
Así que he creado una pequeña función para facilitar esta tarea, puedes pasar los dos argumentos o solo el primero, pero si no pasas ninguno lo que haces es resetear para que la próxima vez que la llames empiece por el primer parámetro.
function toggle($one='',$two='') {
static $toggle = false;
$toggle = empty($one) && empty($two) ? true : $toggle;
$toggle = $toggle ? false : true;
return $toggle ? $one : $two;
}
Ejemplos de uso:
//alterna este valor con uno vacío
toggle('class="toggle" ');
//reseteas
toggle();
//alterna los dos valores
toggle('toggle','toggle2'); //devuelve toggle
toggle('toggle','toggle2'); //devuelve toggle2
toggle('toggle','toggle2'); //devuelve toggle
Puedes pasar los valores que quieras, la función no depende del valor ya que usa un booleano con una variable estática.
Ver post
Comentar
xergio#1 hace 1121 días
Yo suelo usar algo más simple, $toggle = !$toggle;
La inicializo con true o false y luego la voy alternando con eso.
IceBeat#2 hace 1119 días
Vaya no conocia esa manera, para booleanos viene de miedo.
De todas formas tienes que usar un condicional para mostrar o no el texto que quieres añadir.
Ernesto Jiménez#3 hace 1112 días
@IceBeat por dar un poco por saco con RoR, mira esto :)
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#M000518
@ndreX!#4 hace 1111 días
Vendria mas facil un contador no?
algo asi:
$contador = 0; if($contador == 0){ $toogle1; $contador++; }else{ $toogle2; $contador=0; }