PHP में single-quoted strings में escape sequences (\n, \t, आदि) interpret नहीं होते। Newlines के लिए सही तरीके यहां दिए गए हैं।
समस्या
<?php echo 'Line 1\nLine 2'; // Output: Line 1\nLine 2 (लिटरल बैकस्लैश-एन)
समाधान 1: Double Quotes उपयोग करें
echo "Line 1\nLine 2"; // Output: // Line 1 // Line 2
समाधान 2: Concatenation के साथ Single Quotes
echo 'Line 1' . "\n" . 'Line 2';
समाधान 3: PHP_EOL Constant (Cross-platform)
echo 'Line 1' . PHP_EOL . 'Line 2'; // Windows: \r\n, Linux/Mac: \n
समाधान 4: HEREDOC / NOWDOC Syntax
// HEREDOC - variables parse होते हैं (double quotes जैसा) $str = <<Context-Aware Newline Function
function newline() { // CLI के लिए PHP_EOL, Web के लिए
return (PHP_SAPI === 'cli') ? PHP_EOL : '
'; } // उपयोग echo 'Line 1' . newline() . 'Line 2';व्यावहारिक उदाहरण
<?php $items = ['सेब', 'केला', 'संतरा']; // CLI output if (PHP_SAPI === 'cli') { echo "सूची:\n"; foreach ($items as $item) { echo " - $item\n"; } } else { // HTML output echo "सूची:
"; echo ""; foreach ($items as $item) { echo "
"; }- " . htmlspecialchars($item) . "
"; } echo "
त्वरित संदर्भ तालिका
| विधि | Syntax | Context | Variables Parse? |
|---|---|---|---|
| Double quotes | "\n" | General | हाँ |
| Concatenation | '. "\n" .' | Single quotes पसंद करते समय | नहीं (single quote भाग में) |
| PHP_EOL | PHP_EOL | CLI, Files, Logs | नहीं (constant) |
| HEREDOC | << | Multi-line strings | हाँ |
| NOWDOC | << <'EOT' ... EOT | Multi-line, no parsing | नहीं |
| ' | HTML Output | नहीं |