php基础知识 及php与 js 的区别 (重点)--4.23

1:变量与常量
    命名
        以$开头,变量的标志,变量名称用字母,数字,下划线字,并且数字不能开头.
    作用域
        默认情况,函数内部不能访问到外部的全局变量,但能访问到超级全局变量.$_GET,$_POST等
    
    大小写
        变量和常量区分大小写.
    可否重置其值
        变量可以重新赋值.而常量一旦定义,不能注销,也不能重新赋值.
    
2:函数
    参数
        可以声明0-N个,但是在调用时,要求调用时的参数与声明时的参数个数一样.
        和js相比,PHP中的函数可有默认值.

3:逻辑运算符
    在PHP中,逻辑运算符返回的运算结果为布尔值

4:表单传值
    表单两种传递值的方法: GET POST, method="GET/POST"
两种传值的特点:GET在地址栏上显示,POST不在地址栏显示.
关于数据量, GET传输的数据量最大2K左右,POST理论上没上限.
关于文件上传,必须得用POST

5:在PHP中如何获得地址栏上的值,或者POST过来的值
答: $_GET,$_POST这两个超级全局变量.
两者都是数组.

$_GET[name], name指表单中的name="xxxxx"中的xxxxx

6:留言本的做法:
留言用的表单页面
表单列表页面

用PHP收取数据,连接上数据库,写入数据库.
用PHP连接数据库,读取数据库,再展现出来.

// PHP数组与js数组比较

/* 在js创建数组
两种方式
1: var arr = new Array(1,2,3,4);
2: var arr = [1,2,3];

/*
在PHP中创建数组
*/

$arr = array(1,2,3);
print_r($arr);

/*
在js中,数组的索引永远是从0开始逐一递增,
中间没有空档.

但是在PHP中, 数组的索引是非常灵活的.
可以是数字,也可以是字符串,
甚至也可以是数字和字符串混合
*/

/*
如果索引部分指定了数字索引,
又有某个单元没有指定索引,
则取该单元之前曾经出现的最大的数字索引值,
然后+1,作为其键值
*/

$arr = array(10=>‘赵‘,13=>‘钱‘,‘孙‘,99=>‘李‘,‘name‘=>‘张三丰‘,‘dsafdsafdsaf‘=>‘来了‘);
print_r($arr);

/*
在PHP中,如何引用数组的单元值
关键靠索引,
而索引又有"数字","字符串"
*/

// 如果是数字索引
echo $arr[10];

// 如果是字符串索引,必须把索引用 ‘ ‘ 单引号包起来
/*
define(‘name‘,‘dsafdsafdsaf‘);
echo $arr[name];
*/

echo $arr[‘name‘];

时间: 2024-10-27 03:23:04

php基础知识 及php与 js 的区别 (重点)--4.23的相关文章

JavaScript基础知识----六道有趣的Js基础题以及解答

题目: 1.找出数字数组中最大的元素(使用Math.max函数)2.转化一个数字数组为function数组(每个function都弹出相应的数字)3.给object数组进行排序(排序条件是每个元素对象的属性个数)4.利用JavaScript打印出Fibonacci数(不使用全局变量)5.实现如下语法的功能:var a = (5).plus(3).minus(6); //26.实现如下语法的功能:var a = add(2)(3)(4); //9 解答:1. var a = [10,1,2,3,4

关于Java基础知识 String StringBuffer StringBuilder三者的区别

Java基础中String StringBuffer StringBuilder 以下介绍 相同点:String,StringBuffer,StringBuilder最终底层存储与操作的都是char数组,StringBuffer和StringBuilder都继承了AbstractStringBuilder 不同点:String:char数组是final的,不可变,修改String时实际上是new一个新String对象返回,线程安全,频繁的增删操作时不建议使用 StringBuffer:线程安全(

20151024_001_C#基础知识(静态与非静态的区别,值类型和引用类型,堆和栈的区别,字符串的不可变性,命名空间)

1:我们把这些具有相同属性和相同方法的对象进行进一步的封装,抽象出来类这个概念. 类就是个模子,确定了对象应该具有的属性和方法. 对象是根据类创建出来的. 2:类:语法 [public] class 类名 { 字段; 属性; 方法; } 写好了一个类之后,我们需要创建这个类的对象,那么,我们管创建这个类的对象过程称之为类的实例化.使用关键字new 实例化类===创建类 this:表示当前这个类的对象. 类是不占内存的,而对象是占用内存的. 结构是面向过程的,类是面向对象的,之前没有面向对象的时候

C#基础知识-引用类型和值类型的区别(六)

在第一篇中我们介绍了C#中基本的15种数据类型,这15种数据类型中又分为两大类,一种是值类型,一种是引用类型.值类型有sbyte.short.long.int.byte.ushort.uint.ulong.float.double.bool,引用类型有object.string.class类型,这两大类最大的区别就是在内存中存储的位置.方式不一样.(当我们打开运行一个程序的时候,实际上就会把当前程序需要执行的资源从硬盘加载到内存中,再把内存的数据送去CPU处理),现在来看一下它们是如何来进行存储

【基础知识】进程与线程的区别

线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行. 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

scrapy基础知识之 Scrapy 和 scrapy-redis的区别:

Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件). pip install scrapy-redis Scrapy-redis提供了下面四种组件(components):(四种组件意味着这四个模块都要做相应的修改) Scheduler Duplication Filter Item Pipeline Base Spider sc

C#基础知识之override和new的区别

override override是派生类用来重写基类方法的.调用的派生类方法,如需调用基类方法用base关键字 override不能重写非虚方法或静态方法. override重写必须用abstract.override.virtrual修饰的方法. new new 是派生类用来隐藏基类方法的,在派生类中看不到基类方法,但调用的还是基类的方法. 如果在派生类中要隐藏基类方法而不用new关键字,而不用new关键字,编译时会出现一个警告,提示如果是要隐藏基类中的方法,请使用new关键字. new可以

NodeJs>------->>第三章:Node.js基础知识

第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 1 console.log("this is a test string."); 1 node app1.js 1> info.log 1 console.log("This is a test String ."); 2 3 //从第二个参数开始,依序输出所有的字符串 4 console.log("%s","

HTML+CSS+JS基础知识

目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="stylesheet" type="text/css" href="mystyle.css"> 内部样式表:<style type="text/css"> body {background-color: red} p {margin-left: 20px} &