@@ -322,7 +322,6 @@ intrinsic:
322
322
eval-intrinsic
323
323
exit-intrinsic
324
324
isset-intrinsic
325
- print-intrinsic
326
325
-->
327
326
328
327
<pre >
@@ -331,7 +330,6 @@ intrinsic:
331
330
<i ><a href =" #grammar-eval-intrinsic " >eval-intrinsic</a ></i >
332
331
<i ><a href =" #grammar-exit-intrinsic " >exit-intrinsic</a ></i >
333
332
<i ><a href =" #grammar-isset-intrinsic " >isset-intrinsic</a ></i >
334
- <i ><a href =" #grammar-print-intrinsic " >print-intrinsic</a ></i >
335
333
</pre >
336
334
337
335
** Semantics**
@@ -521,48 +519,6 @@ $v1 = TRUE; $v2 = 12.3; $v3 = NULL;
521
519
isset($v1, $v2, $v3); // results in FALSE
522
520
```
523
521
524
- #### print
525
-
526
- ** Syntax**
527
-
528
- <!-- GRAMMAR
529
- print-intrinsic:
530
- 'print' expression
531
- -->
532
-
533
- <pre >
534
- <i id =" grammar-print-intrinsic " >print-intrinsic:</i >
535
- print <i ><a href =" #grammar-expression " >expression</a ></i >
536
- </pre >
537
-
538
- ** Constraints**
539
-
540
- * expression* value must be [ convertable to a string] ( 08-conversions.md#converting-to-string-type ) .
541
- In particular, it should not be an array and if it is an object, it must implement
542
- a [ ` __toString ` method] ( 14-classes.md#method-__tostring ) .
543
-
544
- ** Semantics**
545
-
546
- After converting its * expression* 's value to a string, if necessary,
547
- ` print ` writes the resulting string to [ ` STDOUT ` ] ( 06-constants.md#core-predefined-constants ) .
548
- Unlike [ ` echo ` ] ( 11-statements.md#the-echo-statement ) , ` print ` can be used in any context
549
- allowing an expression. It always returns the value 1.
550
-
551
- See also: [ double quoted strings] ( 09-lexical-structure.md#double-quoted-string-literals ) and
552
- [ heredoc documents] ( 09-lexical-structure.md#heredoc-string-literals ) , [ conversion to string] ( 08-conversions.md#converting-to-string-type ) .
553
-
554
- ** Examples**
555
-
556
- ``` PHP
557
- $v1 = TRUE;
558
- $v2 = 123;
559
- print '>>' . $v1 . '|' . $v2 . "<<\n"; // outputs ">>1|123<<"
560
- print ('>>' . $v1 . '|' . $v2 . "<<\n"); // outputs ">>1|123<<"
561
- $v3 = "qqq{$v2}zzz";
562
- print "$v3\n"; // outputs "qqq123zzz"
563
- $a > $b ? print "..." : print "...";
564
- ```
565
-
566
522
### Anonymous Function Creation
567
523
568
524
** Syntax**
@@ -3219,6 +3175,50 @@ foreach ($g as $yielded) {
3219
3175
}
3220
3176
```
3221
3177
3178
+ ## Print expression
3179
+
3180
+ ** Syntax**
3181
+
3182
+ <!-- GRAMMAR
3183
+ print-expression:
3184
+ yield-expression
3185
+ 'print' print-expression
3186
+ -->
3187
+
3188
+ <pre >
3189
+ <i id =" grammar-print-expression " >print-expression:</i >
3190
+ <i ><a href =" #grammar-yield-expression " >yield-expression</a ></i >
3191
+ print <i ><a href =" #grammar-print-expression " >print-expression</a ></i >
3192
+ </pre >
3193
+
3194
+ ** Constraints**
3195
+
3196
+ * print-expression* value must be [ convertable to a string] ( 08-conversions.md#converting-to-string-type ) .
3197
+ In particular, it should not be an array and if it is an object, it must implement
3198
+ a [ ` __toString ` method] ( 14-classes.md#method-__tostring ) .
3199
+
3200
+ ** Semantics**
3201
+
3202
+ After converting * print-expression* 's value into a string, if necessary,
3203
+ ` print ` writes the resulting string to [ ` STDOUT ` ] ( 06-constants.md#core-predefined-constants ) .
3204
+ Unlike [ ` echo ` ] ( 11-statements.md#the-echo-statement ) , ` print ` can be used in any context
3205
+ allowing an expression. It always returns the value 1.
3206
+
3207
+ See also: [ double quoted strings] ( 09-lexical-structure.md#double-quoted-string-literals ) and
3208
+ [ heredoc documents] ( 09-lexical-structure.md#heredoc-string-literals ) , [ conversion to string] ( 08-conversions.md#converting-to-string-type ) .
3209
+
3210
+ ** Examples**
3211
+
3212
+ ``` PHP
3213
+ $v1 = TRUE;
3214
+ $v2 = 123;
3215
+ print '>>' . $v1 . '|' . $v2 . "<<\n"; // outputs ">>1|123<<"
3216
+ print ('>>' . $v1 . '|' . $v2 . "<<\n"); // outputs ">>1|123<<"
3217
+ $v3 = "qqq{$v2}zzz";
3218
+ print "$v3\n"; // outputs "qqq123zzz"
3219
+ $a > $b ? print "..." : print "...";
3220
+ ```
3221
+
3222
3222
## Logical AND Operator (form 2)
3223
3223
3224
3224
** Syntax**
0 commit comments