PHP проти Ruby

PHP і Ruby є PHPРубінБлокувати роздільник коментарів / * і * / = початок і = кінець; також будь-який текст після __END__ Термінатори заяви Колочка закінчується Newline припинено Масиви динамічно розміру Так Так Вбудований роздільник коментарів // і # # Заняття Так Так Оператор об'єднання рядків . (крапка) + (знак плюс) Програмування парадигм імперативний, об’єктно-орієнтований, рефлексивний Імперативні, об’єктно-орієнтовані, відбиваючі, орієнтовані на аспекти, функціональні OOP (об'єктно-орієнтоване програмування) Так, поодиноке успадкування. Так, але не потрібно. Підтримуються багатовимірні масиви Так Так Доступ до елементів масиву $ масив [i] масив [i] Перевірка типу Динамічний Динамічний Синтаксис для довжини рядка strlen ($ string) string.size або string.length Збір сміття Так Так Векторизовані операції Так Так Синтаксис порівняння рядків strcmp ($ string1, $ string2) string1 string2 Синтаксис тестування рівності рядків $ string1 == $ string2 string1 == string2 Введення тексту Слабке введення тексту Сильно набраний Синтаксис пошуку рядків strpos ($ string, $ substring [, startpos]) повертає FALSE, якщо елемент пошуку ($ substring) не знайдено string.index (substring [, startpos]) повертає нуль, якщо елемент пошуку (підрядка) не знайдено Синтаксис форматування рядків sprintf (formatstring, items) sprintf (formatstring, items) Синтаксис для приєднання до масиву рядків implode (роздільник, масив_of_strings) array_of_strings.join (роздільник) Синтаксис для підрядків substr (рядок, startpos, numChars) рядок [startpos, numChars] Синтаксис пошуку та заміни в рядку str_replace ($ find, $ заміна, $ string) string.gsub (знайти, замінити) Передбачуване використання Веб-програми, CLI Програми, сценарії Синтаксис для обертання рядка strrev ($ string) string.reverse Цілі дизайну мови Міцність і простота Виразність, читабельність Синтаксис для перетворення рядка у верхній регістр strtoupper ($ string) string.upcase Приклади використання WordPress, Вікіпедія Індієго, Хулу

Зміст: PHP проти Ruby

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

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

PHP

Вбудований тип масиву PHP насправді є асоціативним масивом. Навіть при використанні числових індексів PHP внутрішньо зберігає його як асоціативний масив. Ось чому один у PHP може мати не послідовні числові індексовані масиви. Ключі повинні бути скалярними значеннями (рядок, число з плаваючою комою або ціле число), тоді як значення можуть бути довільного типу, включаючи інші масиви та об'єкти. Масиви неоднорідні; в одному масиві можуть бути ключі різних типів. Асоціативні масиви PHP можуть використовуватися для представлення дерев, списків, стеків, черг та інших загальних структур даних, не вбудованих у PHP.

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

$ телефонна книга = масив (); $ телефонна книга ['Sally Smart'] = '555-9999'; $ телефонна книга ['John Doe'] = '555-1212'; $ телефонна книга ['J. Випадковий хакер '] =' 555-1337 '; // або $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // або $ телефонна книга ['контакти'] ['Sally Smart'] ['число'] = '555-9999'; $ телефонна книга ['контакти'] ['Джон Доу'] ['номер'] = '555-1212'; $ телефонна книга ['контакти'] ['J. Випадковий хакер '] [' число '] =' 555-1337 '; 

Ви також можете пройти цикл через асоціативний масив у PHP наступним чином:

foreach ($ телефонна книга як $ name => $ number) echo "Номер для $ name: $ число \ n";  
// Для останнього прикладу масиву використовується такий foreach ($ телефонна книга ['контакти'] як $ name => $ num) echo "Ім'я: $ name"; ехо "Номер: $ num ['число']";  

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

Рубін

У Ruby асоційований масив називається Hash і використовується таким чином:

телефонна книга = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Випадковий хакер '=>' 553-1337 ' 

телефонна книга ["Джон Доу"] виробляє '555-1212'

Щоб повторити хеш, використовуйте щось подібне:

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

Крім того, кожна клавіша може відображатися окремо:

телефонна книга.each_key | ключ | кладе ключ 

Кожне значення може також відображатися:

телефонна книга.each_value | значення | ставить значення 

Список літератури

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