PHP против Ruby

PHP и Ruby являются PHPРубинБлок комментариев разделитель /* и */ = начало и = конец; также любой текст после __END__ Заявление терминаторов Точка с запятой прекращается Новая строка прекращена Массивы динамического размера да да Встроенный разделитель комментариев // и # # Классы да да Оператор конкатенации строк . (Точка) + (знак плюс) Парадигмы программирования императив, объектно-ориентированный, рефлексивный Императив, объектно-ориентированный, рефлексивный, аспектно-ориентированный, функциональный ООП (объектно-ориентированное программирование) Да, одиночное наследство. Да, но вам не нужно. Поддерживаются многомерные массивы да да Доступ к элементу массива $ Массив [я] массив [я] Проверка типа динамический динамический Синтаксис для длины строки StrLen ($ строка) string.size или string.length Вывоз мусора да да Векторизованные операции да да Синтаксис сравнения строк strcmp ($ string1, $ string2) строка1 строка2 Синтаксис проверки на равенство строк $ string1 == $ string2 строка1 == строка2 Typing Слабый набор текста Сильно напечатано Синтаксис поиска строки strpos ($ string, $ substring [, startpos]) возвращает FALSE, если элемент поиска ($ substring) не найден string.index (substring [, startpos]) возвращает ноль, если элемент поиска (подстрока) не найден Синтаксис форматирования строки sprintf (отформатированная строка, элементы) sprintf (отформатированная строка, элементы) Синтаксис для соединения массива строк implode (разделитель, array_of_strings) array_of_strings.join (сепаратор) Синтаксис для подстроки substr (string, startpos, numChars) строка [startpos, numChars] Синтаксис для поиска и замены внутри строки str_replace ($ find, $ replace, $ string) string.gsub (найти, заменить) Использование по назначению Веб-приложения, CLI Приложения, скрипты Синтаксис для обращения строки strrev ($ строка) string.reverse Цели языкового дизайна Надежность и простота Выразительность, удобочитаемость Синтаксис для преобразования строки в верхний регистр strtoupper ($ строка) string.upcase Примеры использования WordPress, Википедия Индиего, Хулу

Содержание: PHP против Ruby

  • 1 Ассоциативные массивы в PHP против Ruby
    • 1.1 PHP
    • 1.2 рубин
  • 2 Ссылки

Ассоциативные массивы в PHP против Ruby

PHP

Тип встроенного в PHP массива в действительности является ассоциативным массивом. Даже при использовании числовых индексов PHP внутренне сохраняет его как ассоциативный массив. Вот почему в PHP могут быть непоследовательные численно проиндексированные массивы. Ключи должны быть скалярными значениями (строка, число с плавающей точкой или целое число), в то время как значения могут быть произвольных типов, включая другие массивы и объекты. Массивы неоднородны; один массив может иметь ключи разных типов. Ассоциативные массивы PHP могут использоваться для представления деревьев, списков, стеков, очередей и других общих структур данных, не встроенных в PHP.

В PHP ассоциативный массив может быть сформирован одним из двух способов:

$ phonebook = array (); $ phonebook ['Sally Smart'] = '555-9999'; $ phonebook ['John Doe'] = '555-1212'; $ Телефонная книга [ 'J. Random Hacker '] =' 555-1337 '; // или $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // или $ phonebook ['contacts'] ['Sally Smart'] ['number'] = '555-9999'; $ phonebook ['contacts'] ['John Doe'] ['number'] = '555-1212'; $ Телефонная книга [ 'контакты'] [ 'J. Случайный хакер '] [' number '] =' 555-1337 '; 

Вы также можете перебрать ассоциативный массив в PHP следующим образом:

foreach ($ phonebook as $ name => $ number) echo "Число для $ name: $ number \ n";  
// В последнем примере массива он используется следующим образом: foreach ($ phonebook ['contacts'] as $ name => $ num) echo "Name: $ name"; echo "Number: $ num ['number']";  

PHP имеет обширный набор функций для работы с массивами.

Рубин

В Ruby ассоциированный массив называется Hash и используется следующим образом:

телефонная книга = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Случайный хакер '=>' 553-1337 ' 

телефонная книга ['Джон Доу'] производит '555-1212'

Чтобы перебрать хеш, используйте что-то вроде следующего:

phonebook.each | ключ, значение | ставит ключ + "=>" + значение 

Кроме того, каждый ключ может быть показан индивидуально:

phonebook.each_key | ключ | кладет ключ 

Каждое значение также может быть показано:

phonebook.each_value | value | ставит значение 

Ссылки

  • Синтаксис PHP и Ruby, параллельное сравнение