PHP学习笔记1

1.什么是PHP?

  • Hypertext Preprocessor(超文本预处理语言)。

  • 是脚本语言。

  • 是最流行的网站开发语言。

2.PHP能做什么?

  • 可以生成动态页面内容。

  • 可以创建、打开、读取、写入、关闭服务器上的文件。

  • 可以手机表单数据。

  • 可以发送和接收cookies。(储存在用户本地终端上的数据)

  • 可以添加、删除、修改数据库中的数据

  • 可以限制用户访问一些页面。

  • 可以加密数据

3.PHP基本语法

  • PHP脚本以<?php开始,以?>结束。

  • PHP文件的默认扩展名为“.php”。

  • PHP用分号来分割语句。

  • 变量以$开始,后面跟着变量名称:

1 $first = "Hello World";
  • PHP中的注释:

    a.单行注释:

1 //、#

    b.多行注释:

1 /*...*/

 

4.PHP变量作用域

变量的作用域是脚本中可被引用的部分。

  • local

  • global

  • static

  • parameter

5.局部和全局作用域

 所有在函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,但是要在一个函数中访问一个全局变量,需要使用global关键字。

 1 <?php
 2 $x=5;
 3 $y=10;
 4  
 5 function myTest()
 6 {
 7     global $x,$y;
 8     $y=$x+$y;
 9 }
10  
11 myTest();
12 echo $y; // 输出 15
13 ?>

PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

 1 <?php
 2 $x=5;
 3 $y=10;
 4  
 5 function myTest()
 6 {
 7     $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
 8 } 
 9  
10 myTest();
11 echo $y;  // 输出15
12 ?>

6.Static作用域

当一个函数完成时,所有变量通常都会被删除,但是加上static可以使其完成运算之后被保留下来。

 1 <?php
 2 function myTest()
 3 {
 4     static $x=0;
 5     echo $x;
 6     $x++;
 7 }
 8  
 9 myTest();      // 每次调用时变量将保持前一次的值
10 myTest();      // 该变量仍然是局部变量
11 myTest();      // 输出012
12 ?>

 

7.参数作用域

参数是通过调用代码将值传递给函数的局部变量。

参数是在参数列表中声明的,作为函数声明的一部分:

1 <?php
2 function myTest($x)
3 {
4     echo $x;
5 }
6 myTest(5);
7 ?>

 

8.输出方式

两个基本输出方式:

echo:可以输出一个或者多个字符串。(输出速度快,没有返回值)

1 <?php
2 echo "<h2>It's a good story</h2>";        //可以加html标签
3 echo ("How's it going?");                 //echo()=echo
4 ?>

print:只允许输入一个字符串,返回值总为1。

 

9.PHP常量

常量是一个简单值得标识符,在脚本中不能改变。

设置语法:

1 bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

三个参数:

  • name:必选,常量名,也是标识符。

  • value:必选,常量的值。

  • case_insensitive:可选。如果设置为true,则大小写不敏感,默认敏感。

1 <?php
2 define ("Alcohol","Pads");   //大小写敏感
3 echo Alcohol;            //输出Pads
4 echo '</br>';
5 echo alcohol;            //输出alcohol
6 ?>
1 <?php
2 define ("NIVEA","protection",true);     //大小写不敏感
3 echo NIVEA;
4 echo "</br>";
5 echo nivea;             //都输出protection
6 ?>

 

10.PHP并置运算符

PHP只有一个并置运算符,“.”:(用于把字符串连接起来)

1 <?php
2 define ("NIVEA","protection");
3 
4 $txt1="protect your skin";
5 $txt2="from the sunlight!";
6 
7 echo nivea . " " . ":" . " " . $txt1 . " " . $txt2;
8 //nivea : protect your skin from the sunlight!
9 ?>

 

 

11.strlen(),strpos()函数

strlen():计算字符串长度。

strpos():计算字符串出现的第一个匹配位置

1 <?php 
2 echo strpos("Hello world!","world"); 
3 ?>

 

12.PHP递增、递减运算符

 

 

13.比较运算符

 

注:var_dump()函数不仅可以返回值,还可以返回值的类型。

 

14.数组运算符

 

 

15.三元运算符

1 (expr1) ? (expr2) : (expr3)

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

 1 <?php
 2 $name = "Annika";
 3 //普通写法
 4 $username = isset($name) ? $name : 'no name';
 5  // PHP_EOL是一个兼容不同平台的换行符,提高代码可移植性
 6 echo $username, PHP_EOL;         
 7 
 8 //5.3之后的写法
 9 $username = $name ?: 'no name';
10 echo $username;
11 ?>

在 PHP7+ 版本多了一个 NULL 合并运算符 “??”:

1 <?php
2 // 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
3 $username = $_GET['user'] ?? 'nobody';
4 ?>

 

 

16.运算符有优先级,但是用括号可以增加代码可读性

 1 <?php
 2 // 优先级: &&  >  =  >  and
 3 // 优先级: ||  >  =  >  or
 4  
 5 $a = 3;
 6 $b = false;
 7 $c = $a or $b;
 8 var_dump($c);          // 这里的 $c 为 int 值3,而不是 boolean 值 true
 9 $d = $a || $b;
10 var_dump($d);          //这里的 $d 就是 boolean 值 true 
11 ?>

 

转载于:https://www.cnblogs.com/annika/p/8541693.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis在windows下的配置

原文:Redis在windows下的配置 Redis在windows下的配置&#xff08;在windows-64下安装redis&#xff0c;请参考微软redis的github&#xff1a;https://github.com/MSOpenTech/redis/releases&#xff09;下面是windows32的配置 下载地址http://files.cnblogs.com/files/cuiweny…

linux磁盘符变化autofs,Linux基础教程学习笔记之Autofs自动挂载

Linux基础教程学习笔记之Autofs自动挂载Autofs自动挂载&#xff1a;yum -y install autofsvim /etc/auto.master 在文件中添加下面行/home/guests /etc/auto.tianyunvim /etc/auto.tianyun 子挂载点监控ldapuser0 -rw,sync classroom:/home/guests/ldapuser0systemctl enable …

二叉树的递归遍历(先序,中序,后序)

#include "stdio.h" #include "malloc.h" #define M 100 typedef struct node { /* 采用二叉链表存储结构 */char data;struct node *lchild,*rchild; }BTnode; BTnode *create()/*利用先序遍历的过程创建二叉树*/ {BTnode *t;char ch;scanf("%c&quo…

DOM-动态操作心得

这个知识点都是之前看过的,就当是复习了 一、创建元素的三种方法 第一种: document.write() 识别标签但会覆盖之前内容第二种: 用元素自身的innerHTML方法 不识别标签但可以不覆盖之前内容 ul.innerHTML "<li></li>"; 第三种:利用DOM自身api创建元素 …

linux探索之旅pdf,【Linux探索之旅】第四部分第一課:壓縮文件,解壓無壓力

內容簡介1、第四部分第一課&#xff1a;壓縮文件&#xff0c;解壓無壓力2、第四部分第二課&#xff1a;SSH連接&#xff0c;安全快捷壓縮文件&#xff0c;解壓無壓力最近小編因為換工作&#xff0c;從南法搬到巴黎。折騰了很久。網絡一直用的是公共的無線網&#xff0c;信號不行…

遍历二叉树的全部方法(递归+非递归)

#include<iostream> #include<queue> #include<stack> using namespace std; //二叉树结点的描述 typedef struct BiTNode { char data; struct BiTNode *lchild, *rchild; //左右孩子 }BiTNode,*BiTree; //按先序遍…

如何在本地搭建一个Android应用crashing跟踪系统-ACRA

https://github.com/bboyfeiyu/android-tech-frontier/tree/master/others/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AAAndroid%E5%BA%94%E7%94%A8crashing%E8%B7%9F%E8%B8%AA%E7%B3%BB%E7%BB%9F%EF%BC%8DACRA 如何在本地搭建一个Andr…

20165222第一周查漏补缺

一&#xff0c;第一章要点总结 1&#xff0c;java的特点&#xff1a;面向对象&#xff0c;动态&#xff0c;平台无关。 2&#xff0c;对于带包程序的编译&#xff1a;注意javac -d 编译到一个文件夹内&#xff0c;然后java -cp 文件夹名 包名.类名。 第一章是比较简单的&#x…

学习中的十七条建议

作者&#xff1a;孤剑 对于一个自学的人来说&#xff0c;几条规则当然是必要的了&#xff0c;以下是我自己的一些心得。 1。自信是你成功的第一要素&#xff1b; 2。用心去学&#xff0c;活学活用&#xff1b; 3。新手不要“好高骛远”&#xff0c;老手不要“骄傲自大”&#x…

tp5 linux路由不跳转,thinkphp5路由不生效一直跳到首页的解决方法

自从用laravel框架后&#xff0c;好久没用过thinkphp框架了&#xff0c;早期用的3.x系列&#xff0c;想熟悉一下thinkphp5&#xff0c;结果入坑了&#xff1b;路由配置一直不起作用&#xff0c;总是跳到首页&#xff0c;折腾了好久&#xff0c;后来发现是nginx配置的问题&#…

stack堆栈简介

stack堆栈简介 堆栈是一个线性表&#xff0c;插入和删除只在表的一端进行。这一端称为栈顶(Stack Top)&#xff0c;另一端则为栈底(Stack Bottom)。堆栈的元素插入称为入栈&#xff0c;元素的删除称为出栈。由于元素的入栈和出栈总在栈顶进行&#xff0c;因此&#xff0c;堆栈是…

一份从 0 到 1 的 Java 项目实践清单

2019独角兽企业重金招聘Python工程师标准>>> 看了一篇文章&#xff0c;感觉还可以&#xff0c;就给大家共享一下&#xff1a; 对于着手一个项目的时候&#xff0c;要从以下入手&#xff08;即项目清单&#xff09;&#xff1a; 1. 项目规划 1.1 首先&#xff0c;你得…

JWT 简介

JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准&#xff08;RFC 7519&#xff09;&#xff0c;定义了一种简洁的&#xff0c;自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。因为数字签名的存在&#xff0c;这些信…

FFMPEG的详细资料可以在它的官方网站上找到

请看官网的文档栏目: http://ffmpeg.mplayerhq.hu/documentation.html FFmpeg System Documentation Frequently Asked QuestionsFFmpeg program documentationffserver documentationffplay documentationvideo hook documentationsample ffserver configuration fileFFmpeg A…

空指针入栈问题

空指针和数据元素一样能够进栈。并且如果栈原来为空&#xff0c;压入空指针后栈就不会为空了。空指针一旦被赋予指针&#xff0c;如果是在32位机上则占四个字节。只不过是没有指向堆内存中的任何数据。而空指针已经压进栈了&#xff0c;不加以释放就一直存在。

arm linux 中断 分析,armlinux中断异常的处理分析.pdf

基于 ARM Linux 中断、异常的处理分析本文是基于ARM S3C2410X 系统的Linux 2.6 中断、异常和系统调用的处理分析。主要有以下几个部分&#xff1a;1. ARM 的硬件中断机制2. Linux 2.6 对 ARM 中断向量表的初始化3. Linux 2.6 对 ARM 中断、异常的处理(从汇编-->C 语言函数&a…

(数据科学学习手札03)Python与R在随机数生成上的异同

随机数的使用是很多算法的关键步骤&#xff0c;例如蒙特卡洛法、遗传算法中的轮盘赌法的过程&#xff0c;因此对于任意一种语言&#xff0c;掌握其各类型随机数生成的方法至关重要&#xff0c;Python与R在随机数底层生成上都依靠梅森旋转&#xff08;twister&#xff09;来生成…

音视频编解码知识学习详解(分多部分进行详细分析)

1. 常用的基本知识 基本概念 编解码 编解码器&#xff08;codec&#xff09;指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里指的变换既包括将信号或者数据流进行编码&#xff08;通常是为了传输、存储或者加密&#xff09;或者提取得到一个编码流的操作…

二叉树非递归后序遍历算法

与正常的非递归中序遍历算法不同于两点&#xff1a; 一 比正常的中序遍历算法多了对数据元素的标记。 在压数据元素入栈&#xff08;标记记为0&#xff0c;用来表示访问了其左子树&#xff09;时标记&#xff0c; 还有访问完左子树利用gettop&#xff08;&#xff09;获取双亲…

SQL*Plus命令

SQL*Plus命令 前言 一&#xff1a;SQL*Plus 与数据库的交互 二&#xff1a;设置SQL* Plus的运行环境 二 - 1 &#xff1a;SET命令概述 二 - 2 &#xff1a;使用SET命令设置运行环境 二 - 2 ____1&#xff1a;Pagesize 变量 1 SYSorcl> show pagesize2 pages…