//a.php<?phpprint'AAA'; //用单引号,语法对!echo'BBB'; //用单引号,语法对!?>
<?php//b.phpprintf'CCC'; //用单引号,错误!?>
1. 本来は正しいです。文字列は一重引用符または二重引用符のペアで囲むことができます
2. printf は関数です。これは print とは異なります。したがって、 printf('ccc'); を使用する必要があります
1. そもそも、文字列は一重引用符のペアまたは二重引用符のペアで囲むことができます
2. printf は関数です。print と echo の場合は、 printf('ccc'); を使用します。C 構文では、一重引用符と二重引用符はまったく異なる概念です。決して混ぜないでください。
php 構文では、それらは同じように見えますか?
php 関数も非常に奇妙です。
括弧()など
一部省略できる部分があります。
私は以前にこの種の疑問に遭遇したことがあります。特にデータベースクエリ操作と組み合わせる場合、一重引用符と二重引用符の違いはさらに大きくなります。
収穫は少なくないので、見てみるのもいいでしょう。
1. 一重引用符と二重引用符の違いは、この例には反映されていません。PHP では、場合によっては依然として一重引用符と二重引用符の間に違いがあります。
マニュアルには次のように書かれています:
print は実際には関数ではありません (言語構造体です)。そのため、パラメーター リストを括弧で囲む必要はありません
一方、printf は実際の関数であり、括弧で囲む必要があります。 2 番目の例では、 printf('CCC'); と書かれているとします
$a = 123;echo "$a";echo '$a';
多くの場合、コンピューター言語には「なぜ」がありません
このように設計されています、これを行う必要があります
上記の xu の例は非常に鋭いです
PHP では、二重引用符には文字列定数と変数の両方を含めることができると規定されています
実行すると、変数に保存された文字列が自動的に出力されます
ただし、次の場合は、シングルクォーテーションは、パッケージに変数が含まれているかどうかに関係なく、純粋な文字列を出力します
xu の例を参照するとよく理解できます
1.a.php、どちらのステートメントも正しいのに、なぜですか?
PHP 言語は一重引用符と二重引用符を区別しませんか?
一重引用符と二重引用符を区別してください。一重引用符は標準の文字列データですが、二重引用符は二重引用符で囲まれた変数の内容を解析できるため、php として使用できる特別なテンプレートです
2.b.php、この文発言は間違っています、なぜですか?
printf は標準の組み込み関数です。括弧がないと関数呼び出しになります。
なお、
$a = 123;echo "$a";echo "<br/>";echo '$a';echo "<br/>";echo "'$a'";echo "<br/>";echo '"$a"';
result
123
$a
'123'
"$a "
1. この例では、一重引用符と二重引用符の違いが反映されていません。PHP では、場合によっては依然として一重引用符と二重引用符の違いが存在します。
2. print は a.php で使用され、printf は b.php で使用されます。この 2 つは異なる概念です。
マニュアルには次のように書かれています:
一方、printf は実際の関数であり、括弧で囲む必要があります。 2 番目の例では、 printf('CCC'); と書きます。これに関する公式マニュアルはありますか?
リンクを教えてください!
PHP 構文は、一重引用符と二重引用符に分けられます。インターネット上では、具体的な違いが数多くあります。いずれにせよ、それぞれに独自の長所と短所があります。
a.php で echo と print に一重引用符を使用してもエラーはありません。次のように考えることができます。echo と print は実際には関数ではなく、単なる演算子です。
b.php の printf は関数であり、そうする必要があります。その後に括弧が続きます。
1.a.php,两句语句都是对,为什么?
不为什么,就是这样设计的,print和echo是属于语言结构,不是函数
php语言,不区分单引号与双引号么?
区分单引号和双引号,单引号是标准的字符串数据,而双引号则是可以任务是php的特殊模板,因为可以解析双引号中的变量内容
2.b.php,这句语句是错,为什么?
printf是一个标准的内置函数,不带括号就是一个函数调用,当然不能执行
有这方面的官方手册(中文翻译)么?
1、在你的例子中没有体现单引号与双引号的区别,在php中,有些情况下单/双引号还是有区别的。
2、a.php中用了print,而b.php中是printf,两个是不同的概念。
手册说:
print 实际上不是一个函数(它是一个语言结构),因此你可以不必使用圆括号来括起它的参数列表
而printf 是一个真正的函数,需要用括号括起来 ,因此你第二个例子中如果写成: printf('CCC') ; 就对了
有这方面的官方手册么?
给个链接!
http://php.net/manual/zh/function.print.php
1、在你的例子中没有体现单引号与双引号的区别,在php中,有些情况下单/双引号还是有区别的。
2、a.php中用了print,而b.php中是printf,两个是不同的概念。
手册说:
print 实际上不是一个函数(它是一个语言结构),因此你可以不必使用圆括号来括起它的参数列表
而printf 是一个真正的函数,需要用括号括起来 ,因此你第二个例子中如果写成: printf('CCC') ; 就对了
有这方面的官方手册么?
给个链接!
http://php.net/manual/zh/function.print.php
php语言,“语言结构”是个怎样的概念?
它与C语言的结构相同么?
语言结构 是一个程序块(过程),函数型语言没有对等的成分
简单的说,语言结构既可以用圆括号包含着使用,也可以不用圆括号使用。
而内建函数必须用圆括号包含着使用。
php中输出变量,或者直接输出字符串一般是使用echo函数:
比如
$a="<h1>Hello,world!</h1><br/>";echo $a;echo "$a";echo '$a';
<?php$str = "Hello";$number = 123;printf("%s world. Day number %u",$str,$number);?>
另外
$a = 123;echo "$a";echo "<br/>";echo '$a';echo "<br/>";echo "'$a'";echo "<br/>";echo '"$a"';
另外
$a = 123;echo "$a";echo "<br/>";echo '$a';echo "<br/>";echo "'$a'";echo "<br/>";echo '"$a"';
另外
$a = 123;echo "$a";echo "<br/>";echo '$a';echo "<br/>";echo "'$a'";echo "<br/>";echo '"$a"';
这个学习了 以前以为不分的呢
双引号里面会被转义,单引号不会被转义