资讯专栏INFORMATION COLUMN

php学习笔记(一)基础部分

wapeyang / 436人阅读

摘要:学习至今一年有余,笔记积累挺多的,也挺杂的,写篇文章整理一下吧。基础部分输出文本的基础指令和。函数内部声明的变量拥有作用域,只能在函数内部进行访问。布尔型要指定一个布尔值,使用关键字或。

php学习至今一年有余,笔记积累挺多的,也挺杂的,写篇文章整理一下吧。

php基础部分

PHP 输出文本的基础指令:echoprint

echo和print的区别

echo是PHP语句, printprint_r是函数,语句没有返回值,函数可以有返回值(即便没有用)

echo 输出一个或者多个字符串。
print 只能打印出简单类型变量的值(如int,string)
print_r 可以打印出复杂类型变量的值(如数组,对象)

var_dump和print_r的区别

var_dump返回表达式的类型和值,而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。


变量

变量用于存储值,比如数字、文本字符串或数组。PHP 中的所有变量都是以 $ 符号开始的。
PHP 变量名称对大小写敏感!

PHP 有三种不同的变量作用域:

local(局部)
global(全局)
static(静态)

函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。

函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。

global 关键词用于访问函数内的全局变量。

PHP static 关键词

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。

要完成这一点,请在您首次声明变量时使用 static 关键词:

";
myTest();//-2
echo "
"; myTest();//-3 ?>

php类型
php类型:**PHP 支持八种原始类型。** 

布尔型

要指定一个布尔值,使用关键字 TRUE 或 FALSE。两个都是大小写不敏感的。

整型

我们可以使用(int)来将小数强制类型转换成整数。


数组

php中有三种数组:

索引数组:就是下标是顺序整数作为作为索引(比如第几排第几列)$class[5]
关联数组:就是下标是字符串作为索引(比如名字)$class2["zhangsan"]
多维数组 - 包含一个或多个数组的数组

下标要嘛是整数,要么是字符串。

 "bar",
    "bar" => "foo",
);

// 自 PHP 5.4 起
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

数组单元可以通过 array[key] 语法来访问。
Note: 这并不意味着总是给键名加上引号。用不着给键名为常量或变量的加上引号,否则会使 PHP 不能解析它们。

数组运算符
例子 名称 结果
$a + $b 联合 $a 和 $b 的联合
$a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE
$a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE
$a != $b 不等 如果 $a 不等于 $b 则为 TRUE
$a <> $b 不等 如果 $a 不等于 $b 则为 TRUE
$a !== $b 不全等 如果 $a 不全等于 $b 则为 TRUE

+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。

对象

要初始化一个对象,用 new 语句将对象实例到一个变量中。

常用函数

strlen() 函数用于计算字符串的长度。
strpos() 函数用于在字符串内检索一段字符串或一个字符。

常量

可以用 define() 函数来定义常量。一个常量一旦被定义,就不能再改变或者取消定义。
常用的魔术常量:

定义常量例子:


php字符串运算符

在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。如:echo "a= ".$a."
";

左边将字符串文字"a="与变量$a的值连接,第二处是与换行符"
"
连接

php函数

函数只有在被调用时才会被执行,这点和js是一样的,同样,函数定义也是以function关键字开头的。


当没有return语句时,以上将会变成"-2+10=";


流程控制

在这里,只讲下foreach语句。

foreach语句遍历输出数组:
语法:

foreach (array_expression as $value){ statement};
foreach (array_expression as $key => $value){ statement};

参数array_expression是指定要遍历的数组,$value是数组的值

"; 
}
?>

以上代码将输出:
Name:Marry
Name:Lorry
Name:mike

两个重要的魔术方法
        1. __set( )方法:这个方法用来为私有成员属性设置值的,有两个参数,第一个参数为你
    要为设置值的属性名,第二个参数是要给属性设置的值,没有返回值。

        2. __get()方法:这个方法用来获取私有成员属性值的,有一个参数,参数传入你要获取的
成员属性的名称,返回获取的属性值,这个方法不用我们手工的去调用

php中方法不区分大小写

require(dirname(__FILE__)."/global.php"); //引入全局文件
require(dirname(__FILE__)."/config.ini.php"); //引入基本配置文件

对象运算符和双冒号运算符

在类的成员方法里面,可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性。
静态属性则是用 ::(双冒号):self::$property 来访问。


=>和->

=>数组成员访问符号,->对象成员访问符号;
$this->$name=$value:将当前类的name变量的值设为$value;
$this代表了类本身,->是访问其类成员的操作符
双冒号运算符(::)类名::静态属性/方法
::”用来调用类中静态的属性和方法

数组
 phone [1] => computer [2] => dos [3] => linux )

    $numbers = range(1,5);//创建一个包含指定范围的数组
    print_r($numbers);//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
    print_r(true);//1
    var_dump(false);//bool(false)

//print_r可以把字符串和数字简单地打印出来,数组会以Array开头并已键值形式表示,print_r输出布尔值和null的结果没有意义,因此用var_dump更合适

//通过循环来显示数组里所有的值
    for($i = 0 ;$i < 5;$i++){
        echo $users[$i];
        echo "
"; } //通过count/sizeof统计数组中单元数目或对象中的属性个数 for($i = 0; $i < count($users);$i++){ echo $users[$i]; echo "
"; } //还可以通过foreach循环来遍历数组,这种好处在于不需要考虑key foreach($users as $value){ echo $value."
";//点号为字符串连接符号 } //foreach循环遍历 $key => $value;$key和$value是变量名,可以自行设置 foreach($users as $key => $value){ echo $key."
";//输出键 } ?>

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20825.html

相关文章

  • SegmentFault 技术周刊 Vol.40 - 2018,来学习门新的编程语言吧!

    摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...

    caspar 评论0 收藏0
  • SegmentFault 技术周刊 Vol.40 - 2018,来学习门新的编程语言吧!

    摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...

    nihao 评论0 收藏0
  • SegmentFault 技术周刊 Vol.40 - 2018,来学习门新的编程语言吧!

    摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...

    Drummor 评论0 收藏0
  • php学习笔记——变量

    摘要:由于我有过一些其他语言的基础,所以在我的笔记中通常只会记录一些基础知识学习中比较容易忽略的点,与其他语言不太相同的点。并不是知识点全面的记载。型只有变量被赋予时才是类型如果变量只创建,没有赋值,或者的值时会报出 由于我有过一些其他语言的基础,所以在我的php笔记中通常只会记录一些基础知识学习中比较容易忽略的点,与其他语言不太相同的点。并不是知识点全面的记载。 一、变量 整型: p...

    icyfire 评论0 收藏0
  • Dockerfile 与 Compose 环境搭建学习笔记

    摘要:的主要作用是自己根据基础镜像,重新定制镜像,而不是直接从官方仓库拿现成的使用。以接下来要构建的环境来说明下,下面我将要搭建一个的开发环境,需要进行配合。它的主要作用是持久化数据,避免容器销毁后内部数据丢失暴露到宿主机的端口。 以前一直使用 Vagrant 作为自己的开发环境,并且在上家公司也推行大家采用 Vagrant 作为开发环境,保障公司使用的是同一套开发环境。随着docker的流...

    TZLLOG 评论0 收藏0

发表评论

0条评论

wapeyang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<