Hızlı PHP soru

7 Cevap php

Ben şu alıntıyı var:

if (empty($last_db_error)) {
    echo "OK";
} else {
    echo "Error activating subscription.";
    echo "{$last_db_error}";
}

The problem is that "{$last_db_error}" is not shown, unless I use just $last_db_error, without the quotes and brackets. Am I missing something here? Isn't the above syntax correct?

7 Cevap

Parantez ve tırnak bu durumda işe yaramaz.

if (empty($last_db_error)) {
    echo "OK";
} else {
    echo "Error activating subscription.";
    echo $last_db_error;
}

Mükemmel bir iş yapacak.

BTW, bunu bile $vars PHP tırnak Insides koyabilirsiniz, bu tavsiye edilmez, çünkü:

  • Sadece, tek tırnak hata neden var adını görüntüler çift tırnak için çalışıyor.
  • Bu dize ayrıştırma yavaşlatır.

Bu çok daha uygun nokta operatörünü kullanarak değişkenleri bitiştirmek bulunuyor:

if (empty($last_db_error)) {
    echo "OK";
} else {
    echo "Error activating subscription.\n".
          $last_db_error;
}

Ve en kısa sürede sizinle uğraşmak metin bir şey var gibi, ben seni PHP alternative syntax kullanmak için çağırıyorum. Örn:

<?php if (empty($last_db_error)): ?>
        OK
<?php else : ?>
        Error activating subscription.
        <?php echo $last_db_error; ?>
<?php endif; ?>

$ Bir dize last_db_error veya nesne var mı? O (Eğer yukarıdaki haberi gibi) kaşlı ayraçlar kullanılarak çift tırnak arasında düzgün görüntülenmesi gerektiğini bir dize ise yani kod doğru gibi görünüyor.

Else deyiminde bir var_dump($last_db_error) yerleştirin ve çıkışları görmek.

Kullanmadan hemen

echo $last_db_error;

Gerisi burada gerekli değildir.

Kıvırcık parantez daha karmaşık değişken adlarını değerlendirmek için kullanılır. Eğer çıkış kıvırcık parantez istiyorsanız, o zaman gibi, onları kaçan deneyin:

if (empty($last_db_error)) {
    echo "OK";
} else {
    echo "Error activating subscription.";
    echo "\{$last_db_error\}";
}

Benim için ok çalışır:

<?php
$last_db_error = "LLLLLLLLLLLL";
echo "{$last_db_error}";

It shows me LLLLLLLLLLLL

Belki her şeyi içine ayrıştırır çiftleşmiş sistemi çeşit kullanarak { .... }?

Simpliest yoludur:

echo $last_db_error;

Bazı durumlarda bu deneyin:

 echo "${last_db_error}";
 echo ${'last_db_error'};

Here is a good article regarding php variable names: curly braces