Nếu tôi sử dụng print
trong mã này:Tại sao in và echo hành xử khác nhau trong một "cho" vòng
<?php
for($i = 1; $i <= 3; print $i . "\n") {
$i++;
}
?>
tôi thấy như đầu ra này:
2
3
4
Nhưng khi tôi sử dụng echo
sự mã không hoạt động:
<?php
for($i = 1; $i <= 3; echo $i . "\n") {
$i++;
}
?>
Tôi thấy lỗi này:
PHP Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ')' in /media/datos/xampp/htdocs/temp/1.php on line 3
Câu hỏi của tôi là:
- Tại sao tôi có thể sử dụng
print
như một biểu thức thứ ba trong một vòng lặpfor
, nhưng không thể khi sử dụngecho
và tại sao họ hành xử khác nhau từ mỗi khác?
Tài liệu tham khảo:
lý do tại sao bạn sẽ echo hoặc in ở đó nếu bạn có thể trong vòng lặp? – SuperDJ
Có lẽ vì 'print' trả về một giá trị; trong khi 'echo' không trả về bất kỳ giá trị nào .... và một biểu thức yêu cầu một giá trị –
@MarkBaker print cũng là một cấu trúc ngôn ngữ. –