PHP学习20180320

1. 例如:$_FILES["$field"]['tmp_name']; 
$conf['upload']['rename']; 
表示什么意思啊?
[]表示对数组的引用
上面的意思是变量$_FILES和$conf是两个数组变量
其中$conf有一个元素,该元素被命名为upload,即通过key upload可以找到该变量,假定为a
而这个a也是一个数组
在其中有一个元素被命名为rename
使用key rename可以找到该元素
另外提供一个常用的代码
<?php
echo('<pre>');
print_r($s);//$s是你的变量,自己试一下,换成$_SERVER或者$_FILES看看
echo('</pre>');
?>
2.
 
constant(constant)

该函数仅适用于 class 常量。
<?php
//定义一个常量
define("GREETING","Hello world!");

echo constant("GREETING");
?>

3.

问:在php中定义常量时,const和define的区别?

 

答:使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。

1、const用于类成员变量的定义,一经定义,不可修改。Define不可以用于类成员变量的定义,可用于全局常量。

2、Const可在类中使用,define不能

3、Const不能再条件语句中定义常量

<?php
if (...){
const FOO = 'BAR';    // 无效的invalid
}
if (...) {
define('FOO', 'BAR'); // 有效的valid
}

?>

const采用普通的常量名称,define可以采用表达式作为名称

 

<?php
const  FOO = 'BAR';
for ( $i = 0;  $i < 32; ++ $i) {
define('BIT_' .  $i, 1 <<  $i);
}
?>

4.

<<左移动运算符


简单讲解:
将二进制的全部位向左移。比如:echo 5 << 3; 输出40.
因为 5  转换二进制 为 00000101 左移动三位变成 00101000 转化为十进制就是 40。
如果不知道什么是位运算,可以看这里: http://baike.baidu.com/view/379209.htm
左移运算符 相关可以看这里: http://baike.baidu.com/view/3983975.htm

PHP手册中位运算符相关,可以看这里:http://www.php.net/manual/en/language.operators.bitwise.php

5.

empty()函数是用来测试变量是否已经配置。

若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。

所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。这就是陷阱。

6.

"site map"=>"map.php"和$this->$name = $value里的=> ,->分别有什么不同
=> 是数组成员访问符号

-> 是对象成员访问符号

比如:

$array = array("site map"=>"map.php"); //定义了一个数组,包含一个数组成员:键名为site map,值为map.php

$this->$name = $value

$this 在php语言里是个特定的变量,它代表了类本身,->是访问其类成员的操作符,$this->$name = $value,这句代码意思是:将当前类的name变量的值设置为 $value.
7.
 

php代码foreach ($res AS $row)什么意思?

每进行一次循环迭代,$res数组元素的值就会被赋值给 $row变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。

实例:

1
2
3
4
5
6
<?php 
$colors  array ( "red" , "green" , "blue" , "yellow" ); 
foreach  ( $colors  as  $value ) {
   echo  "$value " ;
}
?>

8.

php中.=是什么意思

连续定义变量!
$a='abc';
$a.='def';
此时$a=‘abcdef'
9.
class Test{
public static $test = 1;
public static function test(){
}
}

可以不用实例化对象直接使用 Test::$test 来取得$test属性的值
静态方法调用也同理Test::test(); 直接调用静态方法test

10.静态方法属于“类”的“财产”,它的作用范围是被划定在所属类中的,即使该类的子类存在同名静态方法,它也不会调用。self 的意思是指静态方法所属的类。

普通方法不属于“类”的“财产”,它的作用范围会被划定在继承了这个普通方法并且已经实例化的子类中,如果该子类中存在同名的普通方法,就会调用子类中的这个方法。$this的意思是当前对象,即继承了该普通方法并且已经实例化的当前类。$ 很生动,因为在php中 $ 用于声明调用变量,类是固定的,但是一个类可以实例化出很多对象,对象是不固定的所以用 $ 很生动。





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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值