最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 脚本块和分号的区别简单句法规则(上)

    脚本块中冒号和分号的区别:={;=}

    1.简单的语法规则(用大括号括起来的变量名,适用于所有版本的PHP):

    $a = ‘花’;

    echo “Shereceivedsome$as”; // 无效的; 字母 s 被视为有效的变量名称元素,但这里的变量是 $a

    echo “Shereceivedsome${a}s”;//有效

    echo “Shereceivedsome{$a}s”;//有效;推荐使用

    我们要说的是“她收到了一些花”,上下文中的花应该是复数形式(即后面应该跟一个S),但是如果没有定义变量,第一个echo将出现案例。显然我们想要输出 $a 而不是 $as。那么我们通常如何处理这个输出呢?

    echo “Shereceivedsome$a”.”s”;

    echo “Shereceivedsome”.$a.”s”;// 这两种习惯的写法应该简洁明了,不用花括号?

    注意:无论 { 出现在 $ 之前还是之后,大括号仅在它们彼此相邻时才被视为分隔符。不要在它们之间放置空格,否则它们将被视为普通花括号

    echo “Shereceivedsome{$a}s”;// 输出结果为:Shereceivedsome{flower}s

    2.复杂的语法规则(用大括号等分隔的表达式,用于 PHP4+):

    echo “有效写作:{$arr[4][3]}”;//有效;定义多维数组

    echo “有效写作:{$arr[‘foo’][3]}”;// 有效;在字符串中使用多维数组时,请务必将其括在括号中

    echo “有效写入:{$this->width}00”;// 有效;如果没有定义,它将变为 $this->width00

    echo “有效写作:{$this->value[3]->name}”;//有效;这个例子演示了一个分隔链调用

    echo “有效拼写:$name: {${$name}}”;// 有效;这个例子中展示的效果实际上是一个可变变量

    echo “有效写作:{${getName()}}”;// 有效;这个例子演示了函数的返回值作为变量名

    echo “有效投递:{${$this->getName()}}”;// 有效;这个例子演示了使用函数的返回值作为变量名

    注1:回显“这是否有效:{getName()}”;输出是:’这是有效的:

    {getName()}’。因为里面没有$,所以花括号不被当作分隔符

    注 2: echo “这是否有效:{$arr[foo][3]}”; 在回答这个问题之前,让我们做一个实验:

    错误报告(E_ALL);

    $arr =array(‘a’,’b’,’c’,’d’=>’e’);

    echo “Thisis$arr[d]”;//我们发现这样写是没有问题的c语言中花括号是界定,那么如果像下面这样写呢?

    回声 $arr[d];

    产生此错误:注意:Useofundefinedconstantd-assumed’d’

    注意:使用了未定义的常量 d,可能应该是 ‘d’ 所以如果我们像这样修改代码

    错误报告(E_ALL);

    $arr =array(‘a’,’b’,’c’,’d’=>’e’);

    定义(’f’,’d’);

    回声 $arr[f];

    我们发现这次没有问题。可以看出,字符串中数组的索引不用单引号是没有问题的,但是如果字符串中没有出现这种写法,就会报错,而对于{$arr[foo] [3]} 中的字符串 Parsing 是以非字符串的方式进行解析。因此,用大括号而不是字符串中索引的单引号来分隔数组是错误的。这会产生错误,因为程序将未引用的索引解析为常量。正确的拼写应该是:

    echo “有效拼写:{$arr[‘foo’][3]}”;

    特别提醒:echo “Thisis $arr[d]”; 这种写法虽然可以被程序解析,但仅限于数组为一维数组的情况。严谨的写法应该是:echo “Thisis {$arr[‘d’]}”; 我的学生曾经和我争论过这个问题,他说:既然前一种写法可以产生结果,那为什么一定要用后一种拼写呢?那么,让我们继续修改之前的代码

    错误报告(E_ALL);

    $arr =array(‘a’,’b’,’c’,

    ‘d’=>数组(’e’=>’f’)

    );

    echo “这是$arr[d][e]”;

    这仍然可以正确解析吗?我只想告诉你花括号是绝对必要的。

    注3:

    错误报告(E_ALL);

    $arr =array(‘a’,’b’,’c’,’d’);

    回声“这是{$arr[2]}”;

    echo “这是{$arr[‘2’]}”;

    执行上面的代码。结果是一样的,为什么会这样?我只能告诉你PHP是一种弱类型语言c语言中花括号是界定符,关于弱类型语言是什么我就不多说了。自己去谷歌吧。说了这么多,最能体现这些句法规则优势的具体应用在哪里呢?—-SQL语句

    // 示例 1:

    $SQL1= “select*fromtablewhereid={$_GET[‘id’]}”;

    // 示例 2:

    $SQL2= “select*fromtablewhere id={$this->id}”;

    友情链接 PHP空间我的饺子新浪空间dedecms教程php虚拟主机

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 脚本块和分号的区别简单句法规则(上)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论