Ir para conteúdo
Fórum Script Brasil
  • 0

Function Zebra


ursolouco

Pergunta

Brother´s!!!

Não são tão experiente em PHP, mas gostaria de saber, se é possivel simplificar esta pequena função que criei. ohmy.gif

<?

    function zebrar($cont){

        $mod = 2;

        $cor = "#CCCCCC";

        $cor1 = "#FFFFFF";

        $divisao = $cont % $mod;

        if($divisao <> 1){

            return $cor1;

        }else{

            return $cor;

        }

    }

    // UTILIZE, mas só se for necessario wink.gif

    // ursolouco@MSN.com

?>

Abraços!!!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Urso, eu faria assim:

<?php

function zebrar($i, $num_cores = 2)

{

    switch ($i % $num_cores)

    {

        case 0: return "#ccc";

        case 1: return "#d9d9d9";

        case 2: return "#fff";

    }

}

?>

Não sei se era bem isso o que você queria...

Essa você pode extender facilmente para trabalhar com mais cores. É só adicionar mais opções dentro do "switch case" e passar como segundo parâmetro o número de cores a serem alternadas (sendo que o default é igual 2 caso não passe esse parâmetro).

[]'s!

Link para o comentário
Compartilhar em outros sites

  • 0

<?php

function zebrar($i, $num_cores = 2)

{

    switch ($i % $num_cores)

    {

        case 0: return "#ccc";

        case 1: return "#d9d9d9";

        case 2: return "#fff";

    }

}

?>

Hum...

Ótima solução!!!!

Este switch seria o 'Select Case' no VBScript!!!

Muito bom...... deixo ver se consigo, pensar em outra forma!!!!

Valeu Brother!!!

Abraços!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu, Urso! smile.gif

Acho que consegui melhorá-la... nesta você passa as cores como parâmetros da função, e dependendo do número de parâmetros que você passar, será o número de cores alternadas:

<?php

function zebrar($i)

{

    return func_get_arg(abs($i) % (func_num_args() - 1) + 1);

}

// Testando

echo '<table border="1" style="width: 200px;" cellpadding="0" cellspacing="0">';

for ($i = 0; $i <= 20; $i++)

{

    echo '<tr style="background-color: ' . zebrar($i, "#ddd", "#eee", "#fff") . '"><td>'.$i.'</td></tr>';

}

echo '</table>';

?>

Bem melhor, né? você não fica travado com as cores que definiu dentro da função! biggrin.gif

Abraços!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Bem melhor, né? você não fica travado com as cores que definiu dentro da função!

Grande Illidan!!

Se não fosse a infeliz e interminavel fila do suporte tecnico eu me dedicaria mais à programação em PHP!!!!!! ohmy.gif

Matou a planta..... é deste jeito mesmo que vou determinar minha função.

Muito Obrigado wink.gif

Por favor, feche este tópico!! smile.gif

Abraços!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Não tem de quê, urso... wink.gif

Quando sobrar um tempo, dê uma fuçada no manual do PHP. Tem muita coisa legal na documentação das funções e nos comentários dos usuários... smile.gif

Abraços!

fechando o tópico...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...