Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP7-1:从0开始入门学习

PHP7-1:从0开始入门学习

作者头像
程序员海军
发布于 2021-10-11 03:10:05
发布于 2021-10-11 03:10:05
2.2K00
代码可运行
举报
文章被收录于专栏:前端笔记ing前端笔记ing
运行总次数:0
代码可运行

跟读者说的一些话

身为前端程序员,我们工作中每天做的事情最频繁的就是,写界面,然后根据后端的api来实现接口的处理。根据UI设计稿完成网站的设计。其实前端的领域很多,不同的领域又需要学习对应的框架,不断的踩坑,来熟练的使用框架实现网站的建设。 前端接触多了,你可能也会好奇后端怎么写api接口,它们怎么把数据封装好传递给你的?我们一直做的是接口的接收处理,不了解如何制作接口? 想要开始学习制作网站api或者app api,那么面临着就是选择 后端语言 ? 我前段时间做过一个调研: 前端程序员该如何选择后端语言? 热门后端语言如下: Java PHP Node.js Python Go .NET …. 至于选择哪门语言学习,取决于自己的需求, 2020 前端程序员Node.js 已成必须,不管之前有没有了解,现在必须学习了。 至于为什么选择PHP,因为它在Web领域已经战斗很多年了,社区生态已经很完善,而且是弱类型语言,前端上手会容易点。在这,就不讨论其它后端语言了。 那么,让我们一起开始PHP之旅吧。

PHP 之旅 开始

环境搭建

wampserve 下载

IDE

VScode PhpStorm

虚拟主机

安装好虚拟环境,就可以开发PHP 了, 在开始一个新的项目时,项目文件都放在www 目录下进行访问,它会默认访问 index.php 。 当创建了新的项目 Test 文件夹/ index.php , 那么访问时,就得通过 http://localhost/test/ 进行访问, 有种方便得访问方法, 建立虚拟主机, 点击 wanp -----> your VirtualHosts -------> VirtualHosts 建立虚拟主机 进行绑定, 1.访问站点名称 2.访问路径 3. 建立虚拟主机 4.重启服务器 5. 直接通过 站点名称进行访问 (test.cms)

基础语法

访问外部变量
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php 
 $name = 'HELLO';
// 第二种 传递参数
 function getName($test){
    //  echo $GLOBALS['name'];   第一种访问方法  $GLOBALS
    echo $test;
     // $GLOBALS $name   第三种

 }
 getName($name)
 ?>
超全局变量可以全局访问

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV
常用函数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var_dump()函数用于输出变量的相关信息。

isset(变量)  检测变量是否被定义

strlen(变量)   变量的长度

mb_srtlen(变量, 字体类型)     变量的长度

strtolower()   转小写

strtoupper()  转大写

ucwords()   每个首字母变大写

ucfirst()   首字母大写

explode('拆分格式',变量)  字符串拆分

implode(':',$name);     字符串合并

mb_substr(变量,开始索引, 结束索引,-数位末尾)   字符串截取
static 静态变量 持久保存变量
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php 

 function getAge(){
    //  echo $GLOBALS['name'];

//   static 会持久保存 该变量得值 . 第一次执行完, 它得值是 23, 第二次调用时,它会在23 得基础进行运算
   static  $age = 22;
    $age = $age + 1;
    return $age;
 }

echo getAge();  //23
echo getAge();  //24
 ?>
常量定义 defin const
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
define('NAME','小米');
const job = '是一家互联网企业';
echo NAME.job
小结

变量在PHP 中定义了,想在局部访问,可以通过以下三种方法进行访问

  1. GLOBALS[′name′]</li><li>函数传入参数</li><li>GLOBALS $name

常量 定义两种方法:

  1. const
  2. define

常量定义后,可以直接在局部使用

== 与 === 区别

== 表示 统一类型进行比较 === 表示类型和值一样才能相等

?? 与 ?:与别

?? 检测变量 1.值不能为空 2. 变量是否为空 echo var_dump(objs∗=∗null;echovardump(objs??'没有值') //没有值 ?: 三元表达式

include 加载模块 require 强加载
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//include  文件
if( !@include 'test.html') {
    include 'default.html';
}


//require:  加载文件 和 必须的内库
require('demo.html') 如果demo.html 不存在,直接报错,截止执行下面程序

函数模块

函数传值 and 传址 区别

传址 :传递的地址, 传值:传递的参数变值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$age = 22;
//传址
*function* getAge(*&*$age) {

    *++*$age;

   echo $age;

}

getAge($age); *//23* 

echo $age; *//23* 


//传值

*function* getAges($age){

    *++*$age;

    echo $age;

}

getAge($age); *//23* 

echo $age; *//22*
函数参数解构赋值
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function getSum(...$args){
   return array_sum($args);
}
echo  getSum(1,2,3,4,5);
函数默认参数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function getInfo($names = '漳卅') {
    echo $names;
}
getInfo();
函数参数指定类型 严格模式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 使用严格模式后, 参数必须传递指定参数的类型值
declare(strict_types = 1);


function getMessage(int $age,String $name){
    echo '年龄为'.$age.'。姓名为:'.$name;
}

getMessage(22,'张三');
函数返回值约束
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function get_userName(): String {
    return '老王来了';
}

function get_password(): int {
    return 111111;
}

//  返回值  为 null  或者 String 时,使用 ?String
function get_Email(): ?String {
    return null;
}
//  没有返回值 使用 void
function get_Sex(): void {
    echo '无返回值使用';
}

数组玩法

基本数组和关联数组
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 关联数组
$arr = ['name'=> '张三','age' => 22];

//基本数组 

$arrs = [1,2,3,4];
数组遍历方法 list foreach
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$arr = [
    ['name'=> '张三','age' => 22],
    ['name'=> '小红','age' => 12],
];
//list 遍历
while(list('name' => $name,'age' => $age) = current($arr)) {
    echo "name:{$name},age:{$age}"."<hr/>";
    next($arr);
}

//foreach
foreach($arr as $key => $item) {
    echo $item['name']."<hr/>";
}
数组常用方法

array_shift() 移除数组顶层数据

array_unshift() 向数组顶层添加数据

array_push() 向数组尾部添加元素

array_pop() 移除数组元素

array_values() 取数组元素值

count() 统计数量

array_map(function(item){},数组变量) 数组遍历 可以对数组做修改

时间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
// 时间


// 设置中国时区
date_default_timezone_set('PRC');
// 时间转时间戳
// 1583843402  数据库存储使用,可以存储ISO格式
$sjc = strtotime('2020-3-10 12:30:02');
echo $sjc."<hr/>";


// 将时间戳转换为ISO格式时间  2020-03-10 12:30:02
echo date('Y-m-d H:i:s',$sjc)."<hr/>";

// 获取当前时间戳
$nows = strtotime('NOW');
echo $nows."<hr/>";
echo date('Y-m-d H:i:s',$nows)."<hr/>";


// 截止到期时间:  当前时间到 增加的时间进行比对
//2020-03-09 16:03:24   -------- 2021-03-09 16:03:24
echo date('Y-m-d H:i:s',strtotime("1year"))."<hr/>"; // 加了一年




// DateTime()类的 使用
$nowTime = new DateTime(); // 实例化DateTime 对象是获取的当前时间

// 把当前时间转换为时间戳  format('U')
echo $nowTime -> format('U')."<hr/>"; 
echo date('Y-m-d H:i:s')."<hr/>";


// 时间的增加 和减少,  应用业务类似 VIP会员到期时间

// 在某个时间段增加这么多天 用   DateInterval()
//天用D隔开  时用T隔开  M分
$times = new DateTime(); 
$times-> format('Y-m-d H:i:s');
$interval = new DateInterval('P10DT10H10M');  //增加10天10小时10分
$times-> add($interval);
echo $times -> format('Y-m-d H:i:s').'增加时间'."<hr/>";

$times-> sub($interval);
echo $times -> format('Y-m-d H:i:s').'减少时间'."<hr/>";

以上是PHP7的 基础语法,通过本章的学习,可以对PHP有大体的认识。本章有的语法没有介绍到,学习过其他语言的话,很快会上手的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端自学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHP笔记
PHP(Hypertext Preprocessor)即超文本预处理器,是在服务器中执行的脚本语言,WEB开发可以并入HTML,主要作用帮助开发人员快速开发动态网页。
腿子代码了
2023/12/23
3040
PHP笔记
php面试常问方法汇总
$GLOBALS(超全局变量) — 引用全局作用域中可用的全部变量, 一个包含了全部变量的全局组合数组。变量的名字就是数组的键
码农编程进阶笔记
2021/07/20
1.9K0
后端逆袭,一份不可多得的PHP学习指南
我想问自己,为什么要学习PHP,什么是PHP,学习之后,我能做什么,未来的发展,那么如何学习一门编程语言,如何给出学习建议。
达达前端
2020/09/24
2.9K0
后端逆袭,一份不可多得的PHP学习指南
PHP全栈学习笔记32
php自定义函数之匿名函数 所谓匿名,就是没有名字。 匿名函数,也就是没有函数名的函数。
达达前端
2019/07/03
1K0
PHP全栈学习笔记32
PHP时间函数总结
PHP关于时间的函数可以参考这里,可以看到PHP已经提供了很多函数以供我们使用,熟练掌握这些函数可以让你摆脱冗长复杂的计算,希望本文能够让你事半功倍!
老高的技术博客
2022/12/27
2.7K0
【php快速入门】学习笔记
PHP是HTML语言的升级形式,语言结构仍然以HTML为核心。这么说吧,HTML是一张白纸,那么PHP就是一张白纸折起来的飞机。PHP比HTML功能更强。
20岁爱吃必胜客
2022/11/13
3.8K0
【php快速入门】学习笔记
PHP核心技术经典面试题
31.PHP中如何判断一个字符串是否是合法的日期模式:2007-03-13 13:13:13。要求代码不超过5行。(酷讯)
友儿
2022/09/11
3.1K0
细说php入门学习
内存: 一旦申明一个变量,就会占用一定的内存 + 当程序结束,没有人在引用变量时,就会被删除
全栈程序员站长
2022/11/17
4K0
想学习php的,不如来这里看看
win+R打开命令行,cmd进DOS窗口 DOS命令开启关闭Apache和Mysql Apache启动关闭命令
Wizey
2018/08/30
1.5K0
想学习php的,不如来这里看看
PHP全栈学习笔记9
http最大特点是无连接无状态,clinet到http request到server,server到http response到clinet。
达达前端
2019/07/03
7170
PHP全栈学习笔记9
PHP全栈学习笔记6
php能做什么,它是运行在服务器端的,web网站大部分数据都是存储在服务器上的,PHP就是用来处理这些存储在服务器的数据。跨平台,服务器可以是多种平台上的服务器,脚本语言,免费。
达达前端
2019/07/03
6370
PHP全栈学习笔记6
这15道PHP面试题足够展示你的能力了(带有答案)
1、__FILE__表示什么意思?(5分) 文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
友儿
2022/09/11
7.9K0
2021年最新PHP 面试、笔试题汇总(三)
四十九、找出数组中出现一次的元素。10 10 11 11 12 13 12 13 16 只出现一次的数字。要求时间复杂度尽可能低
全栈程序员站长
2022/07/19
1.1K0
2021年最新PHP 面试、笔试题汇总(三)
2021年最新PHP 面试、笔试题汇总(三)
四十九、找出数组中出现一次的元素。10 10 11 11 12 13 12 13 16 只出现一次的数字。要求时间复杂度尽可能低
码农编程进阶笔记
2021/07/20
1.3K0
2021年最新PHP 面试、笔试题汇总(三)
PHP笔记(二)
已经学过 C++面向对象、Java 面向对象,这一部分属于是复习,以及熟悉 PHP 面向对象的不同之处,所以不会详讲
赤蓝紫
2023/01/02
2.9K0
PHP笔记(二)
爬虫+反爬虫+js代码混淆
A. _SERVER[‘AGENT’];B. _SERVER[‘USER_AGENT’];C. _SERVER[‘HTTP_USER_AGENT’];D. _SERVER[‘HTTP_USER_AGENT_TYPE’];
李昂君
2022/01/04
12.7K0
PHP全栈学习笔记4
JavaScript是网景公司开发的,是一种基于对象和事件驱动并具有安全性能的解释型脚本语言。
达达前端
2019/07/03
3K0
PHP全栈学习笔记4
2021年最新PHP 面试、笔试题汇总(一)
1.单一职责原则规定一个类有且仅有一个理由使其改变。换句话说,一个类的边界和职责应当是十分狭窄且集中的。我很喜欢的一句话"在类的职责问题上,无知是福"。一个类应当做它该做的事,并且不应当被它的任何依赖的变化所影响。
码农编程进阶笔记
2021/07/20
8490
2021年最新PHP 面试、笔试题汇总(一)
PHP笔记(一)
数据库项目作业要团队开发 web,选择了尝试后端,又向做出自己的网站这个目标踏出了一步。
赤蓝紫
2023/01/02
1.4K0
PHP笔记(一)
PHP学习—了解篇
符号:* (反单引号) 》和 ~ 在同一个键位 该操作符可以在OS上直接执行操作命令(echo输出命令后才可以在系统上执行)
Mirror王宇阳
2020/11/10
1.2K0
相关推荐
PHP笔记
更多 >
交个朋友
加入[后端] 腾讯云技术交流站
后端架构设计 高可用系统实现
加入前端工作实战群
前端工程化实践 组件库开发经验分享
加入前端学习入门群
前端基础系统教学 经验分享避坑指南
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档