Articles

Aprender PHP: Concatenar Cordas e Variáveis com Eficiência – WPShout

Posted on

Um termo um pouco estranho que ouvirá as pessoas usar em PHP: “concatenar”. Ainda me lembro da primeira vez que ouvi essa palavra, não tendo nenhuma ideia terrena do seu significado. Afinal, era uma tarefa comum e útil em PHP: juntar duas cordas de modo a obter uma única corda ou algo que possamos ecoar no ecrã.

Hoje vamos cobrir todas as principais áreas da concatenação de cordas em PHP: como fazê-lo, porque o fará, o que é o operador de concatenação em PHP, e um pouco das desvantagens de fazer demasiada concatenação de cordas em PHP.

Understand String Concatenation in PHP: Join Two Strings

Usamos “concatenação de cordas” para juntar sequências de caracteres em PHP

Por isso, construímos muito HTML em PHP. E mesmo quando não estamos a fazer isso, estamos muitas vezes a processar texto. Por essas razões, muitas vezes queremos juntar dois poços diferentes, strings. (Com isto quero dizer o tipo de dados específico, uma cadeia, em oposição a integer ou outros.)

Então usamos “concatenação de cadeia” para juntar as coisas em PHP. Podemos usá-la para colocar um número numa cadeia de caracteres, ou ainda mais comummente, juntamos a cadeia com outra ou outra cadeia.

O operador de concatenação em PHP: .

O operador de concatenação de cadeia de PHP é um ponto final. ..

Se tiver programado noutra língua, pode ter experimentado usar o símbolo + (mais) para colocar duas (ou mais) cordas juntas. É assim que a concatenação de cordas JavaScript funciona, por exemplo. Em PHP, usamos em vez disso o caracter . (ponto, ou ponto decimal) para realizar a concatenação de cordas. Assim, quando se coloca o ponto, ., caractere melhor duas cadeias de caracteres citadas diferentes, ou uma variável e cadeia, ou variável e variável, o resultado será uma única cadeia de caracteres que o PHP ou estará pronto a produzir (com echo por exemplo) ou fará um processamento adicional de.

Do que está habituado em inglês, sendo o operador de concatenação do PHP um . pode parecer estranho. Mas prometo que assim que souber o que está a acontecer se habituará e o lerá sem problemas.

Como concatenar cordas em PHP

Muito bem, está na hora de se concretizar. Aqui está algum código que mostra como é uma concatração em PHP na realidade prática. Aqui estão três formas diferentes de podermos echo a string “Hello World” em PHP:

echo "Hello World"; // outputs "Hello World"$hello = 'Hello';echo $hello.' World'; // outputs "Hello World"$world = 'World';$hello_world = $hello.' '.$world;echo $hello_world; // outputs "Hello World"

O código acima é parvo: os segundos dois exemplos são desnecessariamente complicados. Mas estamos a mantê-los simples para podermos familiarizar-nos com os conceitos envolvidos.

A primeira linha da nossa amostra de código é apenas um exemplo de uma utilização muito pedestre de echo em PHP para mostrar uma string. Fará isto quando quiser obter texto de “PHP land” para aparecer no HTML das suas páginas. Sabemos que a sequência "Hello World" é uma “string” porque é delimitada por aspas duplas (ou simples).

O nosso próximo bloco define primeiro uma string, simplesmente a palavra Hello e depois adiciona-lhe a string World antes de as fazer eco à saída. Em PHP, anexar a corda à corda é super comum. Fazemo-lo para nos permitir definir parte da sequência mais longe de onde escolhemos exibi-la. (Muitas vezes muito mais longe do que está neste exemplo.)

Finalmente o nosso último bloco cria duas novas variáveis: a palavra World e depois a frase Hello World como uma única cadeia de caracteres. Este último dá-nos assim um exemplo de PHP que irá juntar cordas com separador. No nosso caso, o separador é apenas um espaço. Um erro que cometo muito em código PHP é esquecer o espaço, mas é um erro fácil de corrigir. Basta adicionar uma string extra de um espaço (ou um espaço a outra string, se preferir).

Combinando os seus poderes PHP: Anexar Strings E Variáveis

No código acima, vimos exemplos claros de concatenação de strings PHP. Mas podemos usar PHP para combinar outros tipos de variáveis com strings, dentro de limites. Esses limites: não podemos fazer concatenação com tipos de dados complexos como objectos ou arrays em strings sem trabalho extra.

Mas tipos de dados PHP “mais simples” como inteiros e flutuadores (genericamente, números) são uma coisa super comum para ver concatenados em PHP. Isso parecerá algo como:

$percentage = 12.1 + 9 + 41.21;echo 'Your final score: '.$percentage.' out of 100%.'; // outputs "Your final score: 62.31 out of 100%."$integer = 1 + 17;echo $integer.' centimeters in length'; // outputs "18 centimeters in length"

Em ambos os exemplos, estamos a colocar o número (a float no primeiro caso, um integer no segundo) directamente na cadeia de caracteres através de concatenação. Como o PHP fará o “malabarismo do tipo” para que possamos fazer esse número numa cadeia, somos capazes de o fazer rapidamente e com facilidade. Em PHP, adicionar a cordas com concatenação é fácil para tipos básicos com versões de cordas óbvias.

PHP Interpolação de Cordas? Usar aspas simples ou duplas?

Então uma coisa que raramente uso, mas que é muito boa de entender é a interpolação de cordas em PHP. O que eu quero dizer (como a maioria das pessoas que o podem dizer) por “interpolação de cordas” é onde de facto se incorpora um $variable numa corda em PHP, e é imediatamente substituído pelo valor subjacente do $variable. Assim, isso pareceria algo como:

$number = 4;echo "She has $number cars in her garage."; // outputs "She has 4 cars in her garage."echo "She has {$number} cars in her garage."; // outputs "She has 4 cars in her garage."

Poucas coisas importantes sobre o acima mencionado. Primeiro: ambos echo declarações levarão à saída de “Ela tem 4 carros na sua garagem”. Segundo: sabemos assim que o embrulho {} não aparece. Em terceiro lugar, é crucial que tanto as declarações como as cordas acima estejam a utilizar aspas duplas: " e não aspas simples '. Em PHP, deve corresponder ao carácter de abertura e fecho de aspas para as suas cordas.

Further, pode, ao utilizar aspas duplas, permitir que o motor PHP interpole a variável para dentro dela. Assim, só poderíamos conseguir o mesmo com aspas simples se fizéssemos:

$number = 4;echo 'She has '.$number.' cars in her garage.'; // outputs "She has 4 cars in her garage."

Aqui estamos a utilizar o operador de concatenação PHP, . novamente, em vez de confiarmos na interpolação de strings PHP. Há boas e más em ambas estas opções. E todas as três funcionam bem. A sobrecarga de desempenho da utilização de interpolação de cordas em cadeias de caracteres duplamente cotadas é suficientemente pequena para que não se deva preocupar com isso. Mas vai ouvir as pessoas apontarem para o facto (verdadeiro) de que o terceiro exemplo nesta secção é (muito marginalmente) mais rápido.

Uma Bola Estranha: .= É uma Atribuição de Concatenação Composta em PHP

Finalmente, vai ver isto usado por vezes, e é muito relevante para o tópico. Pode usar a combinação de um . e um = tanto como uma atribuição como uma concatenação. Para melhor compreender isto, revisitemos estes exemplos de anteriormente:

$hello = 'Hello';$world = 'World';$hello_world = $hello.' '.$world;echo $hello_world; // outputs "Hello World"

Não mudei nada sobre o código acima. Mas podia-se escrever PHP para juntar duas cordas de uma forma bastante diferente. Isso é parecido com isto:

$output = 'Hello';$output .= ' ';$output .= 'World';echo $output; // outputs "Hello World"

Então o que isto faz é concatenado ao fim do nosso $output string o espaço (), e depois a palavra World. Assim, o resultado é que obtemos a mesma saída exacta. Tão eficazmente cada vez que se vê .= é o mesmo que $output = $output.$new_thing; ou semelhante. Quer goste ou não deste exemplo, é uma questão de gosto pessoal. Mas à medida que lê o código de outras pessoas, tenho a certeza que verá as pessoas a utilizá-lo de tempos a tempos, por isso é bom compreender este aspecto da concatenação PHP.

Now Go Concatenate Your Strings, Thoughtfully

B>Antes de eu fechar, um pequeno aviso: aprender o poder de “concatenar” strings com PHP é importante e muito valioso. Mas também é frequentemente um sinal de que está a fazer coisas menos eficientes que deveria fazer. Os templates (ficheiros que apenas contêm o seu HTML + variáveis já arranjadas) são frequentemente uma solução melhor para a maioria das coisas que está a fazer do que simplesmente juntar muitas cadeias de caracteres de sequências e variáveis HTML dentro de, digamos, um WordPress functions.php file.

Dito isto, a concatenação em PHP é uma coisa divertida e importante a dominar. Embora eu pense que deve ser usado com parcimónia, também direi que nos dez anos que tenho escrito PHP, provavelmente nunca houve uma única semana em que não tenha usado os poderes da concatenação de cordas em PHP. Boa sorte!

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *