One place for hosting & domains

      Strings

      Como indexar e fatiar strings em Python 3


      Introdução

      O tipo de dados string do Python é uma sequência composta por um ou mais caracteres individuais, que consistem em letras, números, caracteres de espaço em branco ou símbolos. Como uma string é uma sequência, ela pode ser acessada das mesmas maneiras que outros tipos de dados baseados em sequências o são, através da indexação e divisão.

      Este tutorial ensinará como acessar strings através da indexação e dividir suas sequências de caracteres, e abordará alguns métodos de contagem e localização de caracteres.

      Como as strings são indexadas

      Assim como o tipo de dados lista, que possui itens que correspondem a um número de índice, cada um dos caracteres de uma string também correspondem a um número de índice, começando com o número de índice 0.

      Para a string Sammy Shark! o detalhamento do índice se parece com isto:

      S A M M y S h A r k !
      0 1 2 3 4 5 6 7 8 9 10 11

      Como se vê, o primeiro S começa no índice 0, e a string termina no índice 11 com o símbolo !

      Também notamos que o caractere de espaço em branco entre Sammy e Shark também corresponde com seu próprio número de índice. Neste caso, o número de índice associado ao espaço em branco é 5.

      O ponto de exclamação (!) também possui um número de índice associado a ele. Qualquer outro símbolo ou sinal de pontuação, como *#$&. ;?, também é um caractere e estaria associado ao seu próprio número de índice.

      O fato de cada caractere em uma string Python possuir um número de índice correspondente nos permite acessar e manipular strings das mesmas maneiras que faríamos com outros tipos de dados sequenciais.

      Acessando caracteres por um número de índice positivo

      Ao referenciar os números de índice, podemos isolar um dos caracteres em uma string. Fazemos isso colocando os números de índice entre colchetes. Vamos declarar uma string e imprimi-la, e então chamar o número de índice entre colchetes:

      ss = "Sammy Shark!"
      print(ss[4])
      

      Output

      y

      Quando nos referimos a um número de índice específico de uma string, o Python retorna o caractere que está naquela posição. Como a letra y está no índice de número 4 da string ss = "Sammy Shark!", quando imprimimos ss[4], recebemos y como resultado.

      Os números de índice nos permitem acessar caracteres específicos dentro de uma string.

      Acessando caracteres por um número de índice negativo

      Se tivermos uma string longa e quisermos selecionar um item perto do final, também podemos contar de trás para frente a partir do final da string, começando no número de índice -1.

      Para a mesma string Sammy Shark! o detalhamento do índice negativo se parece com isto:

      S A M M y S h A r k !
      -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1

      Ao usar números de índice negativos, podemos imprimir o caractere r, referindo-nos à sua posição de -3 no índice, desta forma:

      print(ss[-3])
      

      Output

      r

      O uso de números de índice negativos pode ser vantajoso para isolar um único caractere no final de uma string longa.

      Dividindo strings

      Também podemos chamar uma faixa de caracteres da string. Suponha que queiramos imprimir apenas a palavra Shark. Podemos fazer isso criando uma slice (fatia), que é uma sequência de caracteres dentro de uma string original. Com fatias, podemos chamar diversos valores de caracteres criando uma faixa de números de índice separados por dois pontos [x:y]:

      print(ss[6:11])
      

      Output

      Shark

      Ao construir uma fatia, como em [6:11], o primeiro número de índice é onde ela começa (com ele incluso), e o segundo número de índice é onde a fatia termina (sem ele incluso), razão pela qual no nosso exemplo acima o intervalo precisa terminar com o número de índice que ocorreria logo após a string terminar.

      Ao dividir strings, estamos criando uma substring, que é essencialmente uma string que existe dentro de outra string. Quando chamamos ss[6:11], estamos chamando a substring Shark existente dentro da string Sammy Shark!.

      Se quisermos incluir qualquer uma das extremidades de uma string, podemos omitir um dos números na sintaxe string[n:n]. Por exemplo, se quisermos imprimir a primeira palavra da string ss — “Sammy” — podemos fazer isso digitando:

      print(ss[:5])
      

      Output

      Sammy

      Fizemos isso omitido o número do índice antes dos dois pontos na sintaxe de fatia e incluindo apenas o número de índice após os dois pontos, que se referem ao final da substring.

      Para imprimir uma substring que começa no meio de uma string e vai até o seu final, podemos incluir apenas o número de índice antes dos dois pontos, desta forma:

      print(ss[7:])
      

      Output

      hark!

      Ao incluir apenas o número de índice antes dos dois pontos, deixando o segundo número de índice fora da sintaxe, a substring será iniciada no caractere do número de índice chamado e irá até o final da string.

      Também é possível usar números de índice negativos para dividir uma string. Conforme mostramos anteriormente, os números de índice negativos de uma string começam em -1 e vão sendo contados regressivamente até o início da string. Ao usar números de índice negativos, começamos com o número menor primeiro, uma vez que ele ocorre mais cedo na string.

      Vamos usar dois números de índice negativos para dividir a string ss:

      print(ss[-4:-1])
      

      Output

      ark

      A substring “ark” é impressa a partir da string “Sammy Shark!” porque o caractere “a” ocorre na posição de número de índice -4 e o caractere “k” ocorre logo antes da posição de número de índice -1.

      Especificando o deslocamento ao dividir strings

      A divisão de strings pode aceitar um terceiro parâmetro, além dos dois números de índice. O terceiro parâmetro especifica o stride (deslocamento), que diz respeito a quantos caracteres devem ser pulados após o primeiro caractere ser recuperado da string. Até agora, omitimos o parâmetro stride e o Python utiliza o valor padrão do stride de 1, para que todos os caracteres entre dois números de índice sejam recuperados.

      Vamos observar novamente o exemplo acima que imprime a substring “Shark”:

      print(ss[6:11])
      

      Output

      Shark

      Podemos obter os mesmos resultados incluindo um terceiro parâmetro com um deslocamento de 1:

      print(ss[6:11:1])
      

      Output

      Shark

      Assim, um deslocamento de 1 irá abranger todos os caracteres entre dois números de índice de uma fatia. Se omitirmos o parâmetro deslocamento, então o Python usará o padrão 1.

      Se, ao invés disso, aumentarmos o deslocamento, veremos que os caracteres são ignorados:

      print(ss[0:12:2])
      

      Output

      SmySak

      Especificar o deslocamento de 2 como o último parâmetro na sintaxe do Python ss[0:12:2] ignora um caractere a cada dois. Vamos ver os caracteres que são impressos em vermelho:

      Sammy Shark!!

      Note que o caractere de espaço em branco no número de índice 5 também é ignorado com um deslocamento especificado de 2.

      Se usarmos um número maior para nosso parâmetro de deslocamento, teremos uma substring significativamente menor:

      print(ss[0:12:4])
      

      Output

      Sya

      Especificar o deslocamento de 4 como o último parâmetro na sintaxe do Python ss[0:12:4] imprime apenas um a cada quatro caracteres. Mais uma vez, vamos ver os caracteres que são impressos em vermelho:

      Sammy Shark!

      Neste exemplo, o caractere de espaço em branco também é ignorado.

      Como estamos imprimindo toda a string, podemos omitir os dois números de índice e manter os dois sinais de dois pontos dentro da sintaxe para alcançar o mesmo resultado:

      print(ss[::4])
      

      Output

      Sya

      Omitir os dois números de índice mantendo os dois pontos irá considerar a string inteira dentro do intervalo, ao mesmo tempo que adicionando um parâmetro final para o deslocamento especificará o número de caracteres a serem pulados.

      Além disso, é possível indicar um valor numérico negativo para o stride, que podemos usar para imprimir a string original em ordem reversa se definirmos o deslocamento para -1:

      print(ss[::-1])
      

      Output

      !krahS ymmaS

      Os dois sinais de dois pontos sem parâmetro especificado incluirão todos os caracteres da string original, um deslocamento de 1 incluirá todos os caracteres sem pular nenhum, e o deslocamento negativo inverterá a ordem dos caracteres.

      Vamos fazer isso novamente mas com um deslocamento de -2:

      print(ss[::-2])
      

      Output

      !rh ma

      Neste exemplo, ss[:-2], estamos lidando com a totalidade da string original, uma vez que nenhum número de índice foi incluído nos parâmetros e invertendo a string ao utilizar o deslocamento negativo. Além disso, por termos um deslocamento de -2, estamos ignorando um caractere a cada dois na string invertida:

      ! krahS[whitespace]ymmaS

      O caractere de espaço em branco é impresso neste exemplo.

      Ao especificar o terceiro parâmetro da sintaxe de fatia do Python, você está indicando o deslocamento da substring que está sendo gerada a partir da string original.

      Métodos de contagem

      Enquanto estamos pensando nos números de índice relevantes que correspondem a caracteres dentro de strings, vale a pena abordar alguns dos métodos que contam strings ou retornam números de índice. Isso pode ser útil para limitar o número de caracteres que gostaríamos de aceitar dentro de um formulário com entradas de usuário, ou comparar strings. Assim como outros tipos de dados sequenciais, as strings podem ser contadas com a utilização de vários métodos.

      Vamos primeiro ver o método len(), que pode obter o comprimento de qualquer tipo de dados que seja uma sequência, ordenada ou não ordenada, incluindo strings, listas, tuplas e dicionários.

      Vamos imprimir o comprimento da string ss:

      print(len(ss))
      

      Output

      12

      O comprimento da string “Sammy Shark!” é de 12 caracteres, incluindo o caractere de espaço em branco e o símbolo de ponto de exclamação.

      Ao invés de usar uma variável, podemos também passar uma string diretamente para o método len():

      print(len("Let's print the length of this string."))
      

      Output

      38

      O método len() conta o número total de caracteres dentro de uma string.

      Se quisermos contar o número de vezes que um caractere em particular ou uma sequência de caracteres aparece em uma string, fazemos isso com o método str.count(). Vamos trabalhar com nossa string ss = "Sammy Shark!" e contar o número de vezes que o caractere “a” aparece:

      print(ss.count("a"))
      

      Output

      2

      Podemos pesquisar por outro caractere:

      print(ss.count("s"))
      

      Output

      0

      Embora a letra “S” esteja na string, é importante lembrar que todo caractere possui distinção entre maiúsculas e minúsculas. Se quisermos pesquisar todas as letras em uma string desconsiderando se são maiúsculas ou minúsculas, podemos usar primeiro o método str.lower() para converter a string inteira para letras minúsculas. Leia mais sobre esse método em “Uma introdução aos métodos de string em Python 3.”

      Vamos tentar o str.count() com uma sequência de caracteres:

      likes = "Sammy likes to swim in the ocean, likes to spin up servers, and likes to smile."
      print(likes.count("likes"))
      

      Output

      3

      Na string likes, a sequência de caracteres equivalente a “likes” ocorre 3 vezes na string original.

      Também podemos descobrir em qual posição um caractere ou sequência de caracteres ocorre em uma string. Podemos fazer isso com o método str.find(), e ele retornará a posição do caractere com base em seu número de índice.

      Podemos verificar quando o primeiro “m” ocorre na string ss:

      print(ss.find("m"))
      

      Ouput

      2

      O primeiro caractere “m” ocorre na posição de índice 2 na string “Sammy Shark!” Podemos revisar as posições dos números de índice da string ss acima.

      Vamos ver onde a primeira sequência de caracteres “likes” ocorre na string likes:

      print(likes.find("likes"))
      

      Ouput

      6

      A primeira ocorrência da sequência de caracteres “likes” começa na posição de número de índice 6, que é onde o caractere l da sequência likes está posicionado.

      E se quisermos ver onde a segunda sequência de “likes” começa? Podemos fazer isso passando um segundo parâmetro ao método str.find(), que começará em um número de índice em particular. Assim, ao invés de começar no início da string vamos começar após o número de índice 9:

      print(likes.find("likes", 9))
      

      Output

      34

      Neste segundo exemplo que começa no número de índice 9, a primeira ocorrência da sequência de caracteres “likes” começa no número de índice 34.

      Além disso, podemos especificar um final para o intervalo como um terceiro parâmetro. Assim como na divisão em fatias, podemos fazer isso contando de trás para frente usando um número de índice negativo:

      print(likes.find("likes", 40, -6))
      

      Output

      64

      Este último exemplo procura a posição da sequência “likes” entre os números de índice 40 e -6. Como o parâmetro final inserido é um número negativo, ele contará a partir do final da string original.

      Os métodos de string len(), str.count() e str.find() podem ser usados para determinar o comprimento, contagens de caracteres ou sequências de caracteres, e o índice das posições dos caracteres ou sequências de caracteres dentro de strings.

      Conclusão

      A capacidade de chamar números de índice específicos das strings, ou uma fatia em particular de uma string oferece uma maior flexibilidade ao trabalhar com esse tipo de dados. Como as strings são um tipo de dados baseado em sequências, assim como as listas e tuplas, elas podem ser acessadas através da indexação e divisão em fatias.

      Leia mais sobre a formatação de strings e métodos de strings para continuar aprendendo sobre as strings.



      Source link

      Como indexar, dividir e manipular strings no JavaScript


      Introdução

      Uma string é uma sequência de um ou mais caracteres que podem consistir em letras, números ou símbolos. Cada caractere em uma string do JavaScript pode ser acessado por um número de índice, e todas as strings possuem métodos e propriedades disponíveis a elas.

      Neste tutorial, vamos aprender a diferença entre primitivos de string e o objeto String, como as strings são indexadas, como acessar caracteres em uma string, além de propriedades e métodos comuns usados em strings.

      Primitivos de string e objetos string

      Primeiramente, vamos definir os dois tipos de strings. O JavaScript trata de forma diferente um primitivo de string, que é um tipo de dados imutável, e o objeto String.

      Para testar a diferença entre os dois, vamos inicializar um primitivo de string e um objeto string.

      // Initializing a new string primitive
      const stringPrimitive = "A new string.";
      
      // Initializing a new String object
      const stringObject = new String("A new string.");  
      

      Podemos usar o operador typeof para determinar o tipo de um valor. No primeiro exemplo, simplesmente atribuimos uma string a uma variável.

      typeof stringPrimitive;
      

      Output

      string

      No segundo exemplo, usamos o new String() para criar um objeto string e atribui-lo a uma variável.

      typeof stringObject;
      

      Output

      object

      Na maioria das vezes, você estará criando primitivos de string. O JavaScript é capaz de acessar e usar as propriedades e métodos integrados do wrapper de objeto String, sem de fato alterar o primitivo de string que você criou em um objeto.

      Embora esse conceito seja um pouco desafiador no começo, a diferença entre o primitivo e o objeto deve ser clara. Essencialmente, há métodos e propriedades disponíveis para todas as strings, e em segundo plano o JavaScript fará uma conversão para objeto e de volta para primitivo sempre que um método ou propriedade for chamado.

      Como as strings são indexadas

      Cada um dos caracteres em uma string corresponde a um número de índice, começando com 0.

      Para demonstrar, vamos criar uma string com o valor How are you?.

      H o w A r E y o u ?
      0 1 2 3 4 5 6 7 8 9 10 11

      O primeiro caracter na string é H, que corresponde ao índice 0. O último caractere é ?, que corresponde a 11. Os caracteres de espaço em branco também possuem um índice, em 3 e 7.

      A capacidade de acessar todos os caracteres em uma string nos oferece várias maneiras de trabalhar com strings e manipula-las.

      Acessando caracteres

      Vamos demonstrar como acessar caracteres e índices com a string How are you?.

      "How are you?";
      

      Ao usar a notação de colchetes, podemos acessar qualquer caractere na string.

      "How are you?"[5];
      

      Output

      r

      Também podemos usar o método charAt() para retornar o caractere usando o número de índice como um parâmetro.

      "How are you?".charAt(5);
      

      Output

      r

      De maneira alternativa, podemos usar o indexOf() para retornar o número de índice da primeira aparição de um caractere.

      "How are you?".indexOf("o");
      

      Output

      1

      Embora “o” apareça duas vezes na string How are you?, o indexOf() mostrará a primeira aparição.

      lastIndexOf() é usado para encontrar a última aparição.

      "How are you?".lastIndexOf("o");
      

      Output

      9

      Para ambos os métodos, também é possível pesquisar múltiplos caracteres na string. Ele retornará o número de índice do primeiro caractere da sequência.

      "How are you?".indexOf("are");
      

      Output

      4

      O método slice(), por outro lado, retorna os caracteres entre dois números de índice. O primeiro parâmetro será o número de índice de início, e o segundo parâmetro será o número de índice final.

      "How are you?".slice(8, 11);
      

      Output

      you

      Note que 11 é ?, mas ? não faz parte do resultado retornado. O slice() retornará o que está entre eles, mas sem incluir o último parâmetro.

      Se um segundo parâmetro não for incluído, slice() retornará tudo começando do primeiro parâmetro até o final da string.

      "How are you?".slice(8);
      

      Output

      you?

      Resumindo, charAt() e slice() ajudarão a retornar valores de string com base em números de índice, e indexOf() e lastIndexOf() farão o oposto, retornando números de índice com base nos caracteres de string fornecidos.

      Descobrindo o comprimento de uma string

      Usando a propriedade length, podemos retornar o número de caracteres em uma string.

      "How are you?".length;
      

      Output

      12

      Lembre-se de que a propriedade length está retornando o número real de caracteres que começa com 1, totalizando 12, e não o número de índice final, que começa em 0 e termina em 11.

      Convertendo para maiúsculas ou minúsculas

      Os dois métodos integrados toUpperCase() e toLowerCase() representam maneiras úteis de formatar o texto e fazer comparações textuais no JavaScript.

      toUpperCase() irá converter todos os caracteres para caracteres maiúsculos.

      "How are you?".toUpperCase();
      

      Output

      HOW ARE YOU?

      toLowerCase() converterá todos os caracteres para caracteres minúsculos.

      "How are you?".toLowerCase();
      

      Output

      how are you?

      Esses dois métodos de formatação não recebem parâmetros adicionais.

      Vale notar que esses métodos não alteram a string original.

      Dividindo strings

      O JavaScript possui um método muito útil para dividir uma string por um caractere e criar uma matriz das seções. Vamos usar o método split() para separar a matriz por um caractere de espaço em branco, representado por “ ”.

      const originalString = "How are you?";
      
      // Split string by whitespace character
      const splitString = originalString.split(" ");
      
      console.log(splitString);
      

      Output

      [ 'How', 'are', 'you?' ]

      Agora que temos uma nova matriz na variável splitString, podemos acessar cada seção com um número de índice.

      splitString[1];
      

      Output

      are

      Se um parâmetro vazio for dado, split() criará uma matriz separada por vírgulas com cada caractere na string.

      Ao dividir strings, é possível determinar quantas palavras estão em uma sentença, e usar o método como uma maneira de determinar os primeiros nomes e os sobrenomes de pessoas, por exemplo.

      Filtragem de espaços em branco

      O método trim() do JavaScript remove o espaço em branco de ambas as extremidades de uma string, mas não altera nenhum lugar intermediário. Os espaços em branco podem ser Tabs ou espaços.

      const tooMuchWhitespace = "     How are you?     ";
      
      const trimmed = tooMuchWhitespace.trim();
      
      console.log(trimmed);
      

      Output

      How are you?

      O método trim() é uma maneira simples de realizar a tarefa comum de remover espaços em branco em excesso.

      Descobrindo e substituindo valores de string

      Podemos pesquisar uma string em busca de um valor e substituí-lo por um novo valor usando o método replace(). O primeiro parâmetro será o valor a ser encontrado, e o segundo parâmetro será o valor para substituí-lo.

      const originalString = "How are you?"
      
      // Replace the first instance of "How" with "Where"
      const newString = originalString.replace("How", "Where");
      
      console.log(newString);
      

      Output

      Where are you?

      Além da capacidade de substituir um valor por outro valor de string, também podemos usar as Expressões Regulares para tornar o replace() mais poderoso. Por exemplo, o replace() afeta apenas o primeiro valor, mas podemos usar o sinalizador g (global) para capturar todas as ocorrências de um valor e o sinalizador i (insensibilidade ao caso) para ignorar a diferenciação entre maiúsculas e minúsculas.

      const originalString = "Javascript is a programming language. I'm learning javascript."
      
      // Search string for "javascript" and replace with "JavaScript"
      const newString = originalString.replace(/javascript/gi, "JavaScript");
      
      console.log(newString);
      

      Output

      JavaScript is a programming language. I'm learning JavaScript.

      Essa é uma tarefa muito comum que utiliza as Expressões Regulares. Visite o Regexr para praticar mais exemplos de RegEx.

      Conclusão

      As strings são um dos tipos de dados mais usados e há muitas coisas que podemos fazer com elas.

      Neste tutorial, aprendemos a diferença entre o primitivo de string e objeto String, como as strings são indexadas e como usar os métodos e propriedades integrados das strings para acessar caracteres, formatar texto e encontrar e substituir valores.

      Para uma visão geral sobre strings, leia o tutorial “Como trabalhar com strings no JavaScript.”



      Source link

      How To Work with Strings in PHP


      The author selected Open Sourcing Mental Illness Ltd to receive a donation as part of the Write for DOnations program.

      Introduction

      A string is a sequence of one or more characters that may consist of letters, numbers, or symbols. All written communication is made up of strings. As such, they are fundamental to any programming language.

      In this article, you will learn how to create and view the output of strings, how to use escape sequences, how to concatenate strings, how to store strings in variables, and the rules of using quotes, apostrophes, and newlines within strings in PHP.

      Single and Double-Quoted Strings

      You can create a string in PHP by enclosing a sequence of characters in either single or double quotes. PHP will actually interpret the following strings differently:

      'This is a string in single quotes.'
      
      "This is a string in double quotes."
      

      Before output, double-quoted strings will evaluate and parse any variables or escape sequences within the string. Single-quoted strings will output each character exactly as specified. The exception for single-quoted strings is a single quote (and backslash when needed).

      If you were to echo this string in PHP:

      'Sammy says: "This string's in single quotes." It required a backslash () before the apostrophes (\'), but do not use (") with the double quotes.'
      

      It would return this output:

      Output

      Sammy says: "This string's in single quotes." It required a backslash () before the apostrophes ('), but do not use (") with the double quotes.

      If you don’t include a backslash before the apostrophe in the single-quoted string, PHP will end the string at that point, which will cause an error. Since you’re using single quotes to create our string, you can include double quotes within it to be part of the final string that PHP outputs.

      If you want to render the ' sequence, you must use three backslashes (\'). First \ to render the backslash itself, and then ' to render the apostrophe. The sequence " is rendered exactly as specified.

      "Sammy says: "This string's in double quotes." It requires a backslash () before the double quotes (\"), but you MUST NOT add a backslash before the apostrophe (')."
      

      Output

      Sammy says: "This string's in double quotes." It requires a backslash () before the double quotes ("), but you MUST NOT add a backslash before the apostrophe (').

      As with the single-quoted string, if a backslash is not included before the double quotes in the double-quoted string, PHP will end the string at that point, which will cause an error. Since the double-quoted string is not ended with a single quote, you add the apostrophe directly to a double-quoted string. A double-quoted string will output ' with either a single or double backslash used with the apostrophe.

      To output the " sequence, you must use three backslashes. First \ to render the backslash itself, and then " to render the double quote. The sequence ' is rendered exactly as specified.

      The is known as an escape character. Combined with a secondary character, it makes up an escape sequence. Now that you have an understanding of strings, let’s review escape sequences.

      Escape Sequences

      An escape sequence tells the program to stop the normal operating procedure and evaluate the following characters differently.

      In PHP, an escape sequence starts with a backslash . Escape sequences apply to double-quoted strings. A single-quoted string only uses the escape sequences for a single quote or a backslash.

      Here are some common escape sequences for double-quoted strings:

      • " for a double quote
      • \ for a backslash
      • $ to render a dollar sign instead of expanding the variable
      • n for a new line
      • t for a tab

      Here is an example of how you can use these sequences in a string:

      ""What type of $ do sharks use?"ntSand dollars!"
      

      Output

      "What type of $ do sharks use?" Sand dollars!

      Using escape sequences gives us the ability to build any string required while including these special characters.

      Creating and Viewing the Output of Strings

      The most important feature of double-quoted strings is the fact that variable names will be expanded, giving you the value of the variable. You can use a variable to stand in for a string or use a string directly. You output the string by calling the echo function:

      $my_name = "Sammy";
      echo 'Name is specified using the variable $my_name.';
      echo "n"; // escape sequence for newline character
      echo "Hello, my name is $my_name. It's stored in the variable $my_name.";
      

      The $my_name variable is created on the first line. On the second line, the echo function is used to output a string in single quotes. Using the $my_name variable within this single-quoted string displays the characters exactly as they are written, so we will see the variable name instead of its value.

      On the fourth line, we use the echo function again, but we are using double quotes this time. This time the variable is expanded to show the value in the first sentence. In the next sentence, there is a before the $ to explicitly tell the string to display a $ character and not expand the variable.

      Output

      Name is specified using the variable $my_name. Hello, my name is Sammy. It's stored in the variable $my_name.

      Note: When string evaluation is not a concern, you may choose to use either single quotes or double quotes, but whichever you decide on, you should be consistent within a program. Single quotes may be marginally faster.

      With an understanding of how to create and view the output of strings, let’s move on to see how you can manipulate strings.

      String Concatenation

      Concatenation means joining strings together, end-to-end, to build a new string. In PHP, there are two main ways to concatenate a string.

      The first is to include a string variable within a double-quoted string. This was shown in the previous step and in the following:

      $answer = "Chews wisely.";
      echo "What do sharks do when they have a big choice to make? $answer";
      

      Running this code will combine the string and the $answer variable, which is set to Chews wisely.:

      Output

      What do sharks do when they have a big choice to make? Chews wisely.

      A second way to concatenate strings is to use the . operator.

      Let’s combine the strings "Sammy" and "Shark" together with concatenation through an echo statement:

      echo "Sammy" . "Shark";
      

      This code uses the . operator to combine the "Sammy" string and the "Shark" string without a space in between.

      Output

      SammyShark

      If you would like whitespace between the two strings, you must include the whitespace within a string, like after the word Sammy:

      echo "Sammy " . "Shark";
      

      Output

      Sammy Shark

      You cannot use concatenation to combine a string with an integer:

      echo "Sammy" . 27;
      

      This will produce an error:

      Output

      Parse error: syntax error, unexpected '.27' (T_DNUMBER), expecting ';' or ',' in php shell code on line 1

      If you put "27" within quotes, it will evaluate as a string.

      PHP is a loosely typed language, which means that it will try to convert the data it is given based on the request. If you set a variable to 27, when used in concatenation with a string, PHP will parse the variable as a string:

      $my_int = 27;
      echo "Sammy" . $my_int;
      

      Output

      Sammy27

      You’ve covered the two main ways to concatenate, or combine, strings. Sometimes you may want to replace, or add to, the string completely. Next, let’s explore how PHP allows you to overwrite or update a string.

      Updating a String

      Normal variables in PHP are mutable, which means they can be changed or overwritten. Let’s explore what happens when you change the value for the $my_name variable:

      $my_name = "Sammy";
      echo $my_name . "n";
      $my_name = "Shark";
      echo $my_name;
      

      Output

      Sammy Shark

      First, the variable was set to "Sammy" and displayed using echo. Then it was set to "Shark", overwriting the variable, so that when echo was called a second time, it displayed the new value of "Shark".

      Instead of overwriting the variable, you can use the concatenating assignment operator .= to append to the end of a string:

      $my_name = "Sammy";
      $my_name .= " Shark";
      echo $my_name;
      

      First, you set the $my_name variable to "Sammy", then used the .= operator to add " Shark" to the end of it. The new value for $my_name is Sammy Shark.

      Output

      Sammy Shark

      To prepend to the beginning of a string, you would overwrite while using the original string:

      $my_name = "Shark";
      $my_name = "Sammy " . $my_name;
      echo $my_name;
      

      This time, you first set the $my_name variable to "Shark", then used the = operator to override the $my_name variable with the new string "Sammy ", combined with the previous value of the $my_name variable, which before being overridden is "Shark". The final value for $my_name is Sammy Shark.

      Output

      Sammy Shark

      Overwriting, appending, and prepending give us the ability to make changes and build the strings required for our applications.

      Whitespace in Strings

      Because PHP does not care about whitespace, you can put as many spaces or line breaks within your quotes as you would like.

      echo "Sammy
      The           (silly)
      Shark";
      

      TEXT Output

      Sammy The (silly) Shark

      Keep in mind that HTML renders whitespace differently. New lines require a <br> tag, so even though your source may have new lines, you will not see those new lines displayed on a web page. Similarly, no matter how many spaces there are in your code, only a single space is displayed between characters.

      HTML Output

      Sammy The (silly) Shark

      Clean and consistent use of whitespace is one of the best tools for making code more readable. Since PHP essentially ignores whitespace, you have a lot of flexibility that you can use to your advantage. An integrated development environment (IDE) can help you stay consistent with your code and use of whitespace.

      Conclusion

      Being able to control the way our strings are rendered is essential for communicating with an application’s end user. By updating and combining variables that include special characters, you can clearly communicate while keeping repetition to a minimum.

      As you continue to work with strings, keep in mind these three aspects:

      1. Pay special attention to quotes within your strings.
      2. Use concatenation to combine your strings.
      3. Use variables to make your strings reusable.

      If you would like to read more about PHP, check out the PHP topic page.



      Source link