Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

nuno_couto

PHP functions

Mensagens Recomendadas

nuno_couto    0
nuno_couto

Boas.

Não percebo nada de funções em php.

Estive a ver uns tutoriais e não entendo porque é isto não trabalha:

<?
function caracteres($var)
{
$var=$var."123";
}

$texto = 'ola';

$texto=caracteres("$texto");

echo"a variável é $texto";

?>

O que estou a fazer mal?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hipnoted    6
Hipnoted

Assim à primeira vista, e com alguns conhecimentos que tenho de ver algum códigp aqui no p@p, acho que na 1ª linha tens de por:

<php?  e não apenas <?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
LuBoc    1
LuBoc

Olá,

Esqueceste-te de devolver o valor da variável na função, tens que colocar o return $var.

Fica assim o código:

<?php
function caracteres($var)
{
$var=$var."123";
return $var;
}

$texto = 'ola';

$texto=caracteres($texto);

echo"a variável é $texto";

?>

Ou, se quiseres, também podes fazer isto:

<?php

function caracteres($var)
{
  return $var=$var."123";
}

$texto = 'ola';

$texto=caracteres($texto);

echo"a variável é $texto";

?>

Fica bem.

LuBoc

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
QuickFire    0
QuickFire

Esta é facil :)

<?
function caracteres($var)
{
$var=$var."123";
return $var;
}

$texto = 'ola';

$texto=caracteres($texto);

echo"a variável é $texto";

?>

Para definires essa variavel texto da maneira que querias fazer tinhas de fazer um return na função, se não ele apenas fazia um set da variavel $var e ficava quieto :)

Já agora, como se trata de uma variavel podes por apenas caracteres($texto), não precisas das aspas :D

Espero ter ajudado

EDIT: LuBoc foste mais rápido :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nuno_couto    0
nuno_couto

Bem... Agora complicando um pouco

<?php
function caracteres($var)
{
$var=$var."123";
return $var;
}

$texto1 = 'ola';
$texto2 = 'olaaaa';

$texto1=caracteres($texto1);
$texto2=caracteres($texto2);

echo"a variável é $texto1<br>$texto2";

?>

É possível executar a função para múltiplas variáveis de uma só vez?

$texto1=caracteres($texto1);
$texto2=caracteres($texto2);

para evitar isto, do estilo, caracteres($texto1, $texto2, $texto3)

claro que aqui não estou a igualar à variável... isto tem solução?

PS* o código que colei agora, trabalha bem... só queria tornar o processo mais eficaz para múltiplas variáveis

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade