PHP vs. Ruby

PHP e Ruby são PHPRubiDelimitador de comentários de bloco / * e * / = começo e = fim; também qualquer texto após __END__ Terminadores de instruções Ponto e vírgula finalizado Nova linha encerrada Matrizes dimensionadas dinamicamente sim sim Delimitador de comentários embutidos // e # # Aulas sim sim Operador de concatenação de cadeias . (ponto) + (o sinal de mais) Paradigmas de programação imperativo, orientado a objeto, reflexivo Imperativo, orientado a objeto, reflexivo, orientado a aspectos, funcional OOP (Programação Orientada a Objetos) Sim, herança única. Sim, mas você não precisa. Matrizes multidimensionais suportadas sim sim Acesso ao elemento da matriz $ array [i] matriz [i] Verificação de tipo Dinâmico Dinâmico Sintaxe para o comprimento da string strlen ($ string) string.size ou string.length Coleta de lixo sim sim Operações vetorizadas sim sim Sintaxe de comparação de cadeias strcmp ($ string1, $ string2) string1 string2 Sintaxe de teste de igualdade de string $ string1 == $ string2 string1 == string2 Digitando Digitação fraca Fortemente digitado Sintaxe de pesquisa de string strpos ($ string, $ substring [, startpos]) retorna FALSE se o item de pesquisa ($ substring) não for encontrado string.index (substring [, startpos]) retorna nulo se o item de pesquisa (substring) não for encontrado Sintaxe de formatação de string sprintf (formatação, itens) sprintf (formatação, itens) Sintaxe para ingressar em uma matriz de strings implode (separador, array_de_strings) array_of_strings.join (separador) Sintaxe para substring substr (string, startpos, numChars) string [startpos, numChars] Sintaxe para pesquisar e substituir dentro da string str_replace ($ find, $ replace, $ string) string.gsub (encontre, substitua) Uso pretendido Aplicativos da Web, CLI Aplicativos, scripts Sintaxe para reverter uma string strrev ($ string) string.reverse Objetivos de design de idiomas Robustez e simplicidade Expressividade, legibilidade Sintaxe para converter string em maiúsculas strtoupper ($ string) string.upcase Exemplos de Uso WordPress, Wikipedia Indiegogo, Hulu

Conteúdo: PHP vs Ruby

  • 1 Matrizes associativas em PHP vs. Ruby
    • 1.1 PHP
    • 1.2 Ruby
  • 2 Referências

Matrizes associativas em PHP vs. Ruby

PHP

O tipo de matriz incorporado do PHP é, na realidade, uma matriz associativa. Mesmo ao usar índices numéricos, o PHP o armazena internamente como uma matriz associativa. É por isso que um no PHP pode ter matrizes indexadas numericamente não consecutivas. As chaves devem ser valores escalares (sequência, número de ponto flutuante ou número inteiro), enquanto os valores podem ser de tipos arbitrários, incluindo outras matrizes e objetos. As matrizes são heterogêneas; uma única matriz pode ter chaves de tipos diferentes. As matrizes associativas do PHP podem ser usadas para representar árvores, listas, pilhas, filas e outras estruturas de dados comuns não incorporadas ao PHP.

No PHP, uma matriz associativa pode ser formada de duas maneiras:

$ agenda = array (); $ agenda telefônica ['Sally Smart'] = '555-9999'; $ agenda telefônica ['John Doe'] = '555-1212'; $ agenda ['J. Hacker aleatório '] =' 555-1337 '; // ou $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337'); // ou $ agenda telefônica ['contatos'] ['Sally Smart'] ['número'] = '555-9999'; $ agenda telefônica ['contatos'] ['John Doe'] ['número'] = '555-1212'; $ agenda telefônica ['contatos'] ['J. Hacker aleatório '] [' número '] =' 555-1337 '; 

Você também pode percorrer uma matriz associativa no PHP da seguinte maneira:

foreach ($ agenda como $ name => $ number) echo "Número para $ name: $ number \ n";  
// Para o último exemplo de array, ele é usado desta maneira ($ phonebook ['Contacts'] como $ name => $ num) echo "Name: $ name"; echo "Number: $ num ['number']";  

O PHP possui um extenso conjunto de funções para operar em matrizes.

Rubi

No Ruby, uma matriz associada é chamada Hash e é usada da seguinte maneira:

agenda telefônica = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Hacker aleatório '=>' 553-1337 ' 

agenda telefônica ['John Doe'] produz '555-1212'

Para iterar sobre o hash, use algo como o seguinte:

phonebook.each | chave, valor | coloca a chave + "=>" + valor 

Além disso, cada tecla pode ser mostrada individualmente:

phonebook.each_key | key | coloca chave 

Cada valor também pode ser mostrado:

phonebook.each_value | value | coloca valor 

Referências

  • Sintaxe PHP e Ruby, comparação lado a lado