PHP vs. Ruby
- 4366
- 834
- Mrs. Tomas Champlin
PHP dan Ruby adalah bahasa skrip sisi pelayan - yang paling biasa digunakan untuk membangunkan laman web.
Carta Perbandingan
Perbezaan - Persamaan -Php | Ruby | |
---|---|---|
|
| |
Blok komen pematuhan | / * dan */ | = bermula dan = akhir; juga sebarang teks selepas __end__ |
Terminator Penyata | Titik koma ditamatkan | Newline ditamatkan |
Arrays dinamik bersaiz | Ya | Ya |
Comments Inline Delimiter | // dan # | # |
Kelas | Ya | Ya |
Operator Concatenation String | . (titik) | + (tanda tambah) |
Paradigma pengaturcaraan | penting, berorientasikan objek, reflektif | Imperatif, berorientasikan objek, reflektif, berorientasikan aspek, berfungsi |
OOP (pengaturcaraan berorientasikan objek) | Ya, warisan tunggal. | Ya, tetapi anda tidak perlu. |
Susunan pelbagai dimensi disokong | Ya | Ya |
Akses elemen array | $ array [i] | Array [i] |
Jenis pemeriksaan | Dinamik | Dinamik |
Sintaks untuk panjang tali | strlen ($ string) | tali.saiz atau rentetan.panjang |
Kutipan sampah | Ya | Ya |
Operasi vektor | Ya | Ya |
Sintaks perbandingan rentetan | strcmp ($ string1, $ string2) | String1 String2 |
Sintaks ujian persamaan rentetan | $ string1 == $ string2 | string1 == string2 |
Menaip | Taip lemah | Sangat ditaip |
Sintaks carian rentetan | strpos ($ string, $ substring [, startpos]) mengembalikan palsu jika item carian ($ substring) tidak dijumpai | tali.indeks (substring [, startpos]) mengembalikan nil jika item carian (substring) tidak dijumpai |
Sintaks pemformatan string | sprintf (formatstring, item) | sprintf (formatstring, item) |
Sintaks untuk menyertai pelbagai rentetan | implode (pemisah, array_of_strings) | array_of_strings.Sertailah (pemisah) |
Sintaks untuk substring | substr (rentetan, startpos, numchars) | String [startpos, numchars] |
Sintaks untuk carian dan ganti dalam rentetan | str_replace ($ cari, $ ganti, $ string) | tali.gsub (cari, ganti) |
Digunakan | Aplikasi Web, CLI | Aplikasi, skrip |
Sintaks untuk membalikkan rentetan | Strrev ($ String) | tali.terbalik |
Matlamat reka bentuk bahasa | Keteguhan dan kesederhanaan | Ekspresi, kebolehbacaan |
Sintaks untuk menukarkan rentetan ke atas | strtoupper ($ string) | tali.upcase |
Contoh penggunaan | WordPress, Wikipedia | Indiegogo, Hulu |
Arahan bersekutu di PHP vs. Ruby
Php
Jenis array terbina dalam PHP sebenarnya adalah array bersekutu. Walaupun menggunakan indeks berangka, PHP secara dalaman menyimpannya sebagai array bersekutu. Inilah sebabnya mengapa satu di PHP boleh mempunyai array yang diindeks secara beransur-ansur. Kekunci mesti menjadi nilai skalar (rentetan, nombor titik terapung atau integer), sementara nilai boleh menjadi jenis sewenang -wenangnya, termasuk tatasusunan dan objek lain. Array adalah heterogen; Arahan tunggal boleh mempunyai kunci pelbagai jenis. Array bersekutu PHP boleh digunakan untuk mewakili pokok, senarai, susunan, barisan dan struktur data biasa lain yang tidak dibina dalam PHP.
Dalam PHP, pelbagai bersekutu boleh dibentuk dalam salah satu daripada dua cara:
$ phoneBook = array (); $ phoneBook ['Sally Smart'] = '555-9999'; $ phoneBook ['John Doe'] = '555-1212'; $ Buku Telefon ['J. Peretas rawak '] =' 555-1337 '; // atau $ phoneBook = Array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Rawak hacker '=>' 555-1337 ',); // atau $ Buku Telefon ['Kenalan'] ['Sally Smart'] ['Number'] = '555-9999'; $ phoneBook ['Contacts'] ['John Doe'] ['Number'] = '555-1212'; $ Buku Telefon ['Kenalan'] ['J. Peretas rawak '] [' nombor '] =' 555-1337 ';
Anda juga boleh gelung melalui array bersekutu dalam PHP seperti berikut:
foreach ($ phone book as $ name => $ number) echo "nombor untuk $ name: $ number \ n";
// Untuk contoh array terakhir ia digunakan seperti foreach ini ($ phoneBook ['contacts'] sebagai $ name => $ num) echo "name: $ name"; echo "nombor: $ num ['number']";
PHP mempunyai satu set fungsi yang luas untuk beroperasi pada tatasusunan.
Ruby
Di Ruby, array bersekutu dipanggil hash dan digunakan seperti berikut:
Buku Telefon = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Penggodam rawak '=>' 553-1337 '
Buku Telefon ['John Doe']
menghasilkan '555-1212'
Untuk melelehkan hash, gunakan sesuatu seperti yang berikut:
buku telefon.setiap | kunci, nilai | meletakkan kunci + "=>" + nilai
Di samping itu, setiap kunci boleh ditunjukkan secara individu:
buku telefon.setiap_key | key | meletakkan kunci
Setiap nilai juga boleh ditunjukkan:
buku telefon.setiap_value | value | meletakkan nilai