php学习笔记-php中的变量的定义

php中的变量是没有类型的,这和C语言完全不一样,C语言里面我们定义一个变量一定要加变量类型的,比如int a=10;  char b[10]={0};在php中我们这样定义一个变量

$length = 100;

看它的特点,是以“美元符号开头加变量名”这种方式来定义一个变量的。

有变量类型和没有变量类型的语言的一些优点和缺点。

C语言是有变量类型的,因为C语言诞生的日子比较早,那个时候内存比较紧张,浪费内存就是谋才害命啊,所以内存区域被分割成三角形区域、正方形区域、圆形区域,如果是三角形就必须放在三角形区域里面,其它区域是放不进去的,其他的是同样的道理。优点很明显,充分利用内存、节省资源,缺点也很明显不灵活,把内存管理这种技术含量比较高的工作让程序员来完成,对程序员要求比较高。

PHP是没有变量类型的,因为随着科技的进步,内存空间相对不再那么紧张了,为了更高效率的编写程序、为了解放生产力 ,PHP被设计成为了没有变量类型的。内存区域就被分割成了很多个大罐子,无论你是三角形还是圆形还是正方形都能放进来,来者不拒。优点很明显,非常灵活,程序员没有必要把精力放在内存管理上面,缺点暂时还不知道,可能就是比较浪费内存吧。

需要注意的点:

1.PHP中变量是区分大小写的。

2.这是我经常犯的一个错误,定义变量的时候有美元符号,引用变量的时候忘记写美元符号了。



<?php

$books = ‘chinese‘;

echo books;

//OUTPUT books

?>



<?php

$books = ‘chinese‘;

echo $books;

//OUTPUT chinese

?>


原文地址:https://www.cnblogs.com/yfish/p/8451811.html

时间: 2024-11-09 00:12:32

php学习笔记-php中的变量的定义的相关文章

php学习笔记4--php中的变量作用域

变量作用域:可以简单地理解为变量的可见区域,变量能被访问的范围.如同其他语言,php中也有全局作用域和局部作用域之分,但是不同的是:php中的全局作用域指的是:只能在函数外部使用,而局部作用域指的是:只能在函数内部使用.php中的全局变量指的是:在函数外部定义,一般来说只能在函数外部被访问,不能直接在函数内部可见的变量:而局部变量指的是:在函数内部定义,只能在函数内部访问的变量.$name = "csc";function test(){ echo $name; //运行该脚本则会提示

Samurai Framework 学习笔记--samurai中的宏魔法(待更新)

Samurai Framework 学习笔记–samurai中的宏魔法 文件 Samurai_Predefine.h Samurai里的一些预设宏 // 这3个宏是在定义属性 @prop_assign( NSInteger, page IN)的时候标记这个数据流的方向时用的. #define IN #define OUT #define INOUT // 函数属性限定符: __attribute__((unused)) 这个限定符属性禁止编译器在未引用该函数时生成警告 // 这里先用__unus

AspectJ学习笔记2-Eclipse中AspectJ插件AJDT的正确安装方法

接着之前一篇日志.这个事情也挺无语的,简单记录一下. 在这里:http://www.eclipse.org/ajdt/ 可以下载最新的Eclipse Plugin,下载解压之后,一般来说,直接把解压后文件夹下的features和plugins放到Eclipse的文件夹下就行了.不过我这样做以后,启动Eclipse,发现没什么作用.才参考网上有人介绍的第二种方法,也就是Help--Install New Software--Add--Local这种方式选择刚才的解压文件夹,但是这样操作以后会报像下

《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

<Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内容主要都是介绍如何在屏幕上显示图像,事实上除了图像之外,音乐的播放也可以被理解为一种显示的方式,本节将学习在Cocos2d-x中播放声音的方法. (1)在HelloWorld.h中对HelloWorld类进行如下定义: class HelloWorld : public Cocos2d::Layer { pu

Linux学习笔记——虚拟机中安装VMware Tools

0 前言 VMware Tools是VMware虚拟机中自带的一种增强工具,只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,实现文件在虚拟机之间的复制粘贴. 最近购买了周立功的一款EasyARM开发板,作为树莓派Linux学习的补充.在虚拟机中安装了周立功提供的ubuntu镜像,总觉得在主机和PC机之间直接复制粘贴才爽,所以又安装了Vmware Tools.     [相关博文] [ Linux学习笔记--vmware plarer中安装ubunt

javascript学习笔记---ECMAScript语法(变量)

变量声明关键字var: var i = 1: var t = "asd"; var test1 = "hi", test2 = "hello"; 声明变量不一定要初始化, var i;//ok 另一方面在使用变量前若未加关键字var,则此变量为全局变量(此特性需特别记住). 变量名字: 变量名需要遵守两条简单的规则: 第一个字符必须是字母.下划线(_)或美元符号($) 余下的字符可以是下划线.美元符号或任何字母或数字字符 命名变量规则: Came

[Android学习笔记]ListView中含有Button导致无法响应onItemClick回调的解决办法

转自:http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 问题描述: 当ListView的Item中的控件只是一些展示类控件时(比如TextView),注册ListView的监听setOnItemClickListener之后,当点击Item时候会触发onItemClick回调. 但是,当Item中存在Button(继承于Button)的控件时,onItemClick回调不会被触发. 解决方案: 在Item的布局文件

C++学习笔记29,引用变量(1)

引用变量在创建的时候就必须初始化.无法创建一个未被初始化的引用. #include <iostream> using namespace std; int main() { int x=10; int y=20; int &r1; } 编译结果: 如果引用未被初始化,编译将报错. 修改引用: 引用总是指向初始化的那个变量,也就是说,引用一旦被创建并初始化之后就无法改变.这一规则有点让人迷惑.. 如果声明了一个引用的同时使用一个变量赋值了,那么这个引用就会一直指向这个变量. 在此后使用变

[Android学习笔记]Android中多线程开发的一些概念

线程安全: 在多线程的情况下,不会因为线程之间的操作而导致数据错误. 线程同步: 同一个资源,可能在同一时间被多个线程操作,这样会导致数据错误.这是一个现象,也是一个问题,而研究如何解决此类问题的相关工作就叫做线程同步. android中,处理线程同步的手段就是:锁 一般分为公平锁和非公平锁: synchronized(内部锁,互斥锁):synchronized是JVM提供的线程同步机制,如果出现问题,JVM能捕获异常,并释放资源,具体实现机制需要查看JVM源码 synchronized的使用特