2012-06-13 25 views
5

này có thể là một câu hỏi ngu ngốc nhưng ...PHP: giá trị trả về từ hàm và lặp lại trực tiếp?

php

function get_info() { 
    $something = "test"; 
    return $something; 
} 

html

<div class="test"><?php echo get_info(); ?></div> 

Có cách nào để làm cho chức năng tự động "echo" hoặc "in" câu trả lời được trả về? Giống như tôi đã muốn làm điều này ...

<div class="test"><?php get_info(); ?></div> 

... mà không có "echo" trong đó?

Mọi ý tưởng về điều đó? Cảm ơn bạn trước!

Trả lời

17

Bạn có thể sử dụng các thẻ đặc biệt:

<?= get_info(); ?> 

Hoặc, tất nhiên, bạn có thể có chức năng của bạn echo giá trị:

function get_info() { 
    $something = "test"; 
    echo $something; 
} 
1

Tại sao không quấn nó?

function echo_get_info() { 
    echo get_info(); 
} 

<div class="test"><?php echo_get_info(); ?></div> 
6

Tại sao trở về khi bạn có thể echo nếu bạn cần?

function 
get_info() { 
    $something = "test"; 
    echo $something; 
} 
1

Chắc chắn,

Hoặc in nó trực tiếp trong hàm:

function get_info() { 
    $something = "test"; 
    echo $something; 
} 

Hoặc sử dụng viết tắt của PHP cho vang vọng:

<?= get_info(); ?> 

Mặc dù tôi khuyên bạn nên giữ tiếng vang . Đó là dễ đọc hơn và dễ dàng hơn để duy trì các chức năng trở về, và viết tắt không được khuyến khích sử dụng.

2

Một lần truy cập vào trang hướng dẫn sử dụng của echo sẽ mang lại cho bạn câu trả lời, đó thực sự là những gì các câu trả lời trước đề cập: cú pháp tắt .

Hãy cẩn thận, nếu short_open_tag bị vô hiệu hóa trong php.ini, rút ​​ngắn tiếng vang sẽ không hoạt động và mã của bạn sẽ được xuất trong HTML. (ví dụ: khi bạn di chuyển mã của mình sang một máy chủ khác có cấu hình khác).

Để giảm tính di động của mã, tôi khuyên bạn không nên sử dụng mã đó.

+1

Đối với bản ghi, bằng php 5.4, "

1

Để chức năng tự lặp lại giá trị.

function get_info() { 
    $something = "test"; 
    echo $something; 
    return $something; 
} 
Các vấn đề liên quan