php学习笔记

好记性比不过乱笔头,记录成长路上的小问题。

1 print <<<EOF 中的数组输出

 今天在做php168二次开发中用到html模板的print <<<EOF,发现一个问题。

 
  
$s = array ();
$s [ ' id ' ] = " test " ;

print <<< EOF

$s [‘id’];

EOF

运行出错!


改为
print <<< EOF

$s [id];

EOF

输出test

不是数组的key用‘’包含起来好点的吗,怎么用了还出错。搞不明白

二、PHP大小写敏感规则
1 、 大小写敏感
a、 变量名区分大小写
b、 常量名默认区分大小写,通常都写为大写
c、 php
. ini配置项指令区分大小写
2 、大小写不敏感
函数名、方法名、类名 不区分大小写, 但推荐使用与定义时相同的名字
魔术常量不区分大小写,推荐大写
NULL TRUE 、FALSE不区分大小写
类型强制转换,不区分大小写

三 、php中的对象可以调用对象所在类得static方法

 
  
<? php

error_reporting ( - 1 );
function foobar( $arg , $arg2 ) {
echo __FUNCTION__ , " got $arg and $arg2 \n " ;
}
class foo {
var $name ;

public function __construct()
{
// $this->name='default';

}
static function bar( $arg , $arg2 ) {
echo __METHOD__ , " got $arg and $arg2 \n " ;
}
}


// Call the foobar() function with 2 arguments
call_user_func_array ( " foobar " , array ( " one " , " two " ));

// Call the $foo->bar() method with 2 arguments
$foo = new foo;
call_user_func_array ( array ( $foo , " bar " ) , array ( " three " , " four " ));

$foo -> bar( " three " , " four " );
结果:
foobar got one and two foo
:: bar got three and four foo :: bar got three and four
结论:可以用对象调用静态方法($foo->bar)
?>
1
 
  
也可以用类名::对象方法调用,但是调用的方法中不能还有对象的成员参数
<? php


class foo {
var $name ;

public function __construct()
{
// $this->name='default';

}
function bar( $arg = ' 参数1 ' , $arg2 = ' 参数2 ' ) {
echo __METHOD__ , " got $arg and $arg2 \n " ; // ,$this->name;
//如果这里不注释$this->name这条就会出错
Using $this when not in object context
因为在下面foo::bar()的时候没有这个$this
}
}

foo
:: bar();
结果:foo
:: bar got 参数1 and 参数2

结论:
可以直接通过类名::成员方法(),只要方法内部没有用到对象的上下文
但是会出现php提示:Strict standards: Non-static method foo::bar() should not be called statically 
?>

转载于:https://www.cnblogs.com/codelifezj/archive/2011/05/27/note.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值