2009-10-14 28 views
16

Tôi muốn sử dụng một hằng số trong php, nhưng tôi cũng muốn đặt nó bên trong dấu ngoặc kép giống như một biến. Đây có phải là ở tất cả có thể?trích dẫn hằng số trong php: "đây là một MY_CONSTANT"

define("TESTER", "World!"); 
echo "Hello, TESTER"; 

rõ ràng là kết quả đầu ra "Hello, TESTER", nhưng những gì tôi thực sự muốn là một cái gì đó như: "Hello, World"

$tester = "World!"; 
echo "Hello, $tester"; 

ouputs.

+1

[đây là một đầu mối về một cách thú vị để mở rộng hằng trong ký hiệu heredoc php] (http: //www.php. net/manual/en/function.define.php # 100449) –

Trả lời

14

Xin lỗi, đó không phải là cách các hằng số trong công việc PHP. Bạn có thể đặt các biến trong ngoặc kép và heredocs nhưng không đặt hằng số.

+1

Hằng số không hoạt động theo cách này. Nhưng phải có một giải pháp cho điều này ........ – Bik

1

không có cách nào, trừ khi bạn viết riêng chức năng chuỗi phân tích cú pháp của bạn

1

Tôi đã tìm thấy rằng khi chấm-nối của một hằng số là một vấn đề, sử dụng sprintf để lấy chuỗi của tôi thường là cách tôi muốn đi đến cùng.

5

tôi khuyên bạn sử dụng nối vì:

  1. Khi bạn sử dụng một biến thành một dấu ngoặc kép chuỗi đôi tầm nhìn của bạn là không tốt;
  2. Khi bạn sử dụng chuỗi trích dẫn kép, php có thể xử lý chậm;
  3. Bạn không sử dụng hằng số thành chuỗi, vì không có bất kỳ dấu phân cách nào cho php biết hằng số là gì.
+2

4. Dễ dàng hơn để đặt HTML vào chuỗi bởi vì bạn không phải tiếp tục thoát khỏi dấu ngoặc kép. (Tôi biết bạn có thể trích dẫn các giá trị thuộc tính một lần nhưng OCD trong tôi ghét điều đó!) – DisgruntledGoat

+1

1. Phụ thuộc vào đánh dấu cú pháp. 2. Điều ngược lại là đúng trong một số môi trường và phiên bản (trong 6, nó được đồn đại là nhanh hay nhanh). 3. Hợp lệ. –

+0

1. Khả năng hiển thị chỉ kém nếu bạn đang sử dụng trình soạn thảo văn bản rất cơ bản. Cá nhân tôi thấy cú pháp dư thừa dẫn đến khả năng hiển thị kém. 2. Có lẽ một bước phân tích chậm hơn trong một số phiên bản, cùng một tốc độ thực hiện. – Matthew

3

Ghép nối là cách để thực hiện.

Trừ khi bạn muốn hokey, khó chịu, không hiệu quả, ác cách khỉ của:

echo preg_replace("/TESTER/",TESTER,$original_content); 
Các vấn đề liên quan