SORU
23 EYLÜL 2008, Salı


Birleştirme, Performans php String

Java ve C gibi diller# dizeleri değişmez ve hesaplama açısından bir anda bir dize bir karakter oluşturmak için pahalı olabilir. Dedi ki dilde, C# System.Text.StringBuilder java.lang.StringBuilder Java gibi bu maliyeti azaltmak için kütüphane sınıfları vardır.

Php (4 veya 5; ikisi de ilgileniyorum) bu sınırlama paylaşıyor mu? Eğer öyleyse, sorun mevcut benzer çözümler var mı?

CEVAP
23 EYLÜL 2008, Salı


Hayır, dizeleri değişken olduğundan PHP stringbuilder sınıfı türü vardır.

Bu varlık, bir dize binanın farklı yolları vardır, ne yaptığına bağlı. " dedi.

echo, örneğin, çıkış için virgülle ayrılmış belirteçleri kabul eder.

// This...
echo 'one', 'two';

// Is the same as this
echo 'one';
echo 'two';

Bu ne demek, aslında daha yavaş olurdu birleştirme, kullanmadan karmaşık bir dize çıktı

// This...
echo 'one', 'two';

// Is faster than this...
echo 'one' . 'two';

Eğer bir değişken bu çıkışı yakalamak için ihtiyacınız varsa, output buffering functions ile yapabilirsiniz.

Ayrıca, PHP dizi performans gerçekten çok iyi. Eğer değerleri virgülle ayrılmış listesi gibi bir şey yapmak istiyorsanız, hemen patlak kullanın()

$values = array( 'one', 'two', 'three' );
$valueList = implode( ', ', $values );

Son olarak, PHP's string type ile tanışın emin olun ve farklı sınırlayıcı ve her birinin ne anlama geldiği.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • girleffect

    girleffect

    20 Mayıs 2008
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008