PHP ve Ruby Karşılaştırması

PHP ve Ruby PHPYakutYorum sınırlayıcıyı engelle /* ve */ = başlangıç ​​ve = bitiş; ayrıca __END__'dan sonra herhangi bir metin İfadeli sonlandırıcılar Noktalı virgül sonlandırıldı Yeni satır sonlandırıldı Dinamik boyutlu diziler Evet Evet Satır içi yorum sınırlayıcısı // ve # # Sınıflar Evet Evet Dize birleştirme operatörü . (nokta) + (artı işareti) Programlama paradigmaları zorunlu, nesne yönelimli, yansıtıcı Zorunlu, nesne yönelimli, yansıtıcı, en boy yönelimli, fonksiyonel OOP (Nesneye Yönelik Programlama) Evet, tek miras. Evet, ama zorunda değilsin. Çok boyutlu diziler desteklenir Evet Evet Dizi öğesi erişimi $ Dizisi [i] dizisi [i] Tip kontrolü Dinamik Dinamik Dize uzunluğu için sözdizimi strlen ($ string) string.size veya string.length Çöp toplama Evet Evet Vectorized operasyonlar Evet Evet Dize karşılaştırma sözdizimi strcmp ($ string1, $ string2) string1 string2 Dize eşitliği test söz dizimi $ string1 == $ string2 string1 == string2 Yazıyor Zayıf yazma Güçlü yazılmış Dize arama sözdizimi arama öğesi ($ substring) bulunamazsa strpos ($ string, $ substring [, startpos]) FALSE değerini döndürür string.index (substring [, startpos]), arama öğesi (substring) bulunmazsa nil değerini döndürür Dize biçimlendirme sözdizimi sprintf (biçim dizesi, öğeler) sprintf (biçim dizesi, öğeler) Bir dizi diziye katılmak için sözdizimi implode (ayırıcı, dizi_dizeleri_dizesi) array_of_strings.join (ayırıcı) Alt dize için sözdizimi substr (dize, startpos, numChars) string [startpos, numChars] Dize içinde arama ve değiştirme için sözdizimi str_replace ($ find, $ replace, $ string) string.gsub (bul, değiştir) Kullanım amacı Web uygulamaları, CLI Uygulamalar, kodlama Bir dizeyi tersine çevirmek için sözdizimi strrev ($ string) string.reverse Dil tasarım hedefleri Sağlamlık ve basitlik Anlatımcılık, Okunabilirlik Dizeyi büyük harfe dönüştürmek için sözdizimi strtoupper ($ string) string.upcase Kullanım örnekleri WordPress, Wikipedia Indiegogo, Hulu

İçindekiler: PHP vs Ruby

  • PHP ile Ruby arasında 1 İlişkili Diziler
    • 1.1 PHP
    • 1.2 Yakut
  • 2 Kaynaklar

PHP ile Ruby arasındaki İlişkisel Diziler

PHP

PHP'nin yerleşik dizi türü gerçekte ilişkilendirilebilir bir dizidir. Sayısal dizinler kullanırken bile, PHP dahili olarak ilişkilendirilebilir bir dizi olarak saklar. Bu yüzden PHP'de biri ardışık olmayan sayısal olarak dizinlenmiş dizilere sahip olabilir. Anahtarlar skaler değerler (dize, kayan nokta sayısı veya tamsayı) olmalıdır, değerler diğer diziler ve nesneler de dahil olmak üzere rastgele tiplerde olabilir. Diziler heterojendir; tek bir dizi farklı türde tuşlara sahip olabilir. PHP'nin ilişkilendirilebilir dizileri, PHP'de yerleşik olmayan ağaçları, listeleri, yığınları, kuyrukları ve diğer yaygın veri yapılarını temsil etmek için kullanılabilir.

PHP'de, ilişkilendirilebilir bir dizi iki yoldan biriyle oluşturulabilir:

$ phonebook = dizi (); $ telefon defteri ['Sally Smart'] = '555-9999'; $ telefon defteri ['John Doe'] = '555-1212'; $ Telefon defteri [ 'J. Rastgele Hacker '] =' 555-1337 '; // veya $ telefon defteri = dizi ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // veya $ telefon defteri ['kişiler'] ['Sally Smart'] ['sayı'] = '555-9999'; $ phonebook ['kişiler'] ['John Doe'] ['sayı'] = '555-1212'; $ Telefon defteri [ 'iletişim'] [ 'J. Rastgele Hacker '] [' sayı '] =' 555-1337 '; 

Ayrıca PHP'de aşağıdaki gibi ilişkilendirilebilir bir dizi arasında geçiş yapabilirsiniz:

foreach ($ $ => $ sayı olarak $ telefon defteri) echo "$ name için sayı: $ number \ n";  
// Son dizi örneği için bu foreach ($ phonebook ['contacts'] gibi $ name => $ num olarak kullanılır echo "Name: $ name"; echo "Sayı: $ num ['number']";  

PHP dizilerde çalışmak için kapsamlı işlevlere sahiptir.

Yakut

Ruby'de ilişkilendirilmiş bir diziye Hash adı verilir ve aşağıdaki gibi kullanılır:

telefon defteri = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Rastgele Hacker '=>' 553-1337 ' 

telefon defteri ['John Doe'] üretir '555-1212'

Karma üzerinde yineleme yapmak için aşağıdakine benzer bir şey kullanın:

phonebook.each | anahtar, değer | + "=>" + değeri tuşuna koyar 

Ayrıca, her tuş ayrı ayrı gösterilebilir:

phonebook.each_key | anahtar | anahtarı koyar 

Her değer ayrıca gösterilebilir:

phonebook.each_value | değer | değeri koyar 

Referanslar

  • PHP ve Ruby sözdizimi, yan yana karşılaştırma