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

(Resolvido) Função strcmp


BRUNOVC

Pergunta

Estou começando a estudar o PHP, e cheguei até esta função (strcmp).

Só que eu não consigo entender a lógica dela... Por exemplo, tenho o código abaixo:

<?
    $var1 = strcmp("teste", "Teste");
    $var2 = strcmp("testes", "testes");
    $var3 = strcmp("Testes", "teste");
    echo $var1 . "<br>" . $var2 . "<br>" . $var3;
?>

O primeiro caso retornará 1, indicando que a primeira string é maior que a segunda. Por que?

O segundo caso retornará 0, pos são idênticas.

O terceiro caso retornará -1, indicando que a primeira string é menor que a segunda. Por que?

Como o PHP encara a letra maiúscula dentro dessa função?

Desde já, muito obrigado.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Tá, isso eu entendi.

Mas se eu colocar:

$var3 = strcmp("T", "t");
ele retorna -1. No que o PHP se baseia para dizer que "T" (maiúsculo) é menor que "t" (minúsculo)? Seria algo como o código ascii, ou coisa do gênero? Da mesma forma, se eu colocar:
$var3 = strcmp("Testes", "teste");

o PHP também retorna -1.

Essa é a minha dúvida. O que faz ele retornar "Testes" < "teste", sendo que "Testes" tem um caracter a mais e mesmo em código ascii (a soma de todos os caracteres) ele é maior?

Muito obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 0

O manual fala em comparação binária, logo, provavelmente ela deva ser feita caractere a caractere, nesse caso a quantidade de caracteres pode não influenciar. Agora lendo os comentários parece que dependendo da configuração do servidor o resultado que a função retorna pode ser modificado... enfim, acho que só pegando os fontes do PHP pra saber o porque esse é o retorno da função...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

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