Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Prog

Duelo. andersonpda X v1d4l0k4

Recommended Posts

Analisando... ;)/>

 

v1d4l0k4

<?
function capitalize($str)
{
	foreach(str_word_count($str, 1) as $word)
	{
		$str = preg_replace('|\b' . $word . '\b|', ucfirst($word), $str);
	}

	return $str;
}
?>

andersonpda

<?
function first_capital_letter($string){
	$cont = $return = $ini = "";
	do{
		if($string[$cont] != " " && $ini != 1 ){
			$string[$cont] = strtoupper($string[$cont]);
			$ini = 1;
		}else if($string[$cont] == " ")	$ini = 0;
		$return .= $string[$cont++];
	}while(!empty($string[$cont]));
	return $return;
}
?>

Avaliação:

 

Métodos utilizados na avaliação:

- as funções - foram contabilizadas de acordo com as que são essenciais para a resolução do problema;

- as linhas - foram consideradas apenas aquelas que fazem parte da solução e exibição dos resultados;

- todos os testes foram realizadas na minha máquina local (Pentium 4, 2.8Ghz, 512MB RAM - IIS 5.1 com PHP 5.0.4 - SO Windows 2000 Pro)

- o tempo é analisado dado pela classe que o red neck me passou, e que vamos fazer com que a mesma se torne um software analisador de duelos. *rs*

 

Velocidade:

1º andersonpda (100 - muito rápido)

2º v1d4l0k4 (80 - 3x mais lento)

 

Menor quantidade de funções internas:

1º andersonpda (100 - usou 2 funções)

2º v1d4l0k4 (99 - usou 1 função a mais)

 

Menor quantidade de linhas de código:

1º v1d4l0k4 (100 - 2 linhas)

2º andersonpda (94 - 6 linhas a mais)

 

Extra/Detalhes:

andersonpda - O script apresenta algumas mensagens de Notice, talvez por alguma configuração do seu server, você não tenha visto. (-5 pontos)

v1d4l0k4 - Seu script funciona ao que se propõe, mas depois de uma certa quantidade de caracteres ele começa a se tornar extremamente lento, o que pode causar um Fatal Error por limite de tempo, por padrão configurado para 30 segundos. (-10 pontos)

 

Resultado final:

1º andersonpda (289 pontos)

2º v1d4l0k4 (269 pontos)

Parabéns aos participantes. :)/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui nao funcionou a funcao do andersonpda...$teste = "luis fernando diniz de andrade";echo capitalize($teste);echo "<br>";echo first_capital_letter($teste);resulta em:Luis Fernando Diniz De AndradeLalgo errado??[]sluis

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui ambos funcionam, mas com o código do anderson, são exibidos alguns Notices... pode ser que por conta disto ele não esteja terminando a execução do script.

 

Qual a versão do seu PHP?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui ambos funcionam, mas com o código do anderson, são exibidos alguns Notices... pode ser que por conta disto ele não esteja terminando a execução do script.Qual a versão do seu PHP?

php 5.0.1 on winXP,"copiei exatamente daqui"[editado]Eu dei uma analisada no code, ta correto sim pra mostrar a primeira letra maiuscula, mas nao intendo porque nao mostra aqui...olha ai:D:\php4>php teste.phpX-Powered-By: PHP/4.4.1Content-type: text/htmlLuis Fernando Diniz De Andrade<br>Luis Fernando Diniz De Andradefuncionou no php 4.4.1 soh, no 5.0.1 meu aqui nao funfo nao... o porque eu nao sei(segundo o fabyo a versao 5.0.* ta com uns par de bug)mal ai galerinha hehe[/editado]E oh parabens pros caras, especial pro andersonpda que ganho!! =DDDDDD show os codes...[]sluis

Compartilhar este post


Link para o post
Compartilhar em outros sites

o script do v1d4l0k4 e andersonpda funcionou mas se eu passar tudo maiusculo continua tudo em maiusculo

Opa... não é assim que a função ucword() trabalha também?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Podemos fazer com que isto se torne um requisito para os próximos duelos.

 

Se a proposta for de refazer uma função interna do PHP, esta deve ter caracteristicas que a torne diferenciada a função original, funcionalidade esta que poderiamos definir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não me lembro de ter aparcido Notices, quando apareceu eu consertei o script para que não tivesse mais...

o script do v1d4l0k4 e andersonpda funcionou mas se eu passar tudo maiusculo continua tudo em maiusculo

usa a função ucwords com todos os caracters maiúsculos e vê o resultado... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns aos dois participantes, muito legais seus códigos.Acho que curtiram muito participar do duelo. Não importa tanto quem ganha, sempre um ganhará, mas o outro dará condição para se realizar a peleja.Quero ver agora, é briga de cachorro grande :D/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.