PHP中有几种主要的数据类型,通俗的解释一下他们
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中有几种主要的数据类型,通俗的解释一下他们相关的知识,希望对你有一定的参考价值。
参考技术A 数据类型有三种:1.标量数据类型
标量数据类型包括以下几种。
(1)boolean:布尔型
布尔变量是php变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量
(2)string:字符串
字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:
单引号方式,
双引号方式,
Heredoc方式。
(3)integer:整数
整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2 147 483 647。
(4)double:浮点数
浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
2.复合数据类型
复合数据类型包括以下两种。
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。
(2)object:对象类型
3.特殊数据类型
特殊数据类型包括以下两种。
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。
(2)null:空值
空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。本回答被提问者采纳
Java中有几种类型的流?
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?字节流,字符流。字节流继承于InputStream \ OutputStream,字符流继承于InputStreamReader \ OutputStreamWriter。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。
FileInputSream类FileInputStream(String name)
FileInputStream(File file)
第一个构造方法是用给定的文件名name创建一个FileInputStream对象
第二个方法使用File对象创建FileInputStream对象
使用文件输入流读取文件
例如
FileInputStream istream=new FileInputStream(“myfile.dat”);
或
File f=new File(“myfile.dat”);
FileInputStream istream =new FileInputStream(f);
处理IO异常
Try
FileInputStream istream=new FileInputStream(“myfile.dat”);
Catch(IOException e)
从输入流中读取字节
Int read();从输入流中顺序读取源中的单个字节数据,返回字节值(0~255之间的一个整数),如果到达源的末尾,则返回-1
Read方法还可以吧多个字节读入到字节数组中:
Int read(byte b[]);
Int read(byte b[],int off,int len);
关闭流
使用close();
FileOutputStream类
该类提供了基本的文件写入能力,除了从OutputStream类继承来的方法外,FileOutputStream类还提供了两个构造方法:
FileOutputStream(String name)
FileOutputStream(File file)
第一个构造方法,给指定的文件名name创建一个FileOutputStreak对象
第二个构造方法,使用File对象创建FileOutputStream对象
可以使用write()方法把字节写入到输出流到达目的地
Write的格式:
Public void write(byte b[]) 其功能就是把b.length个字节到输出流
Public void write(byte b[],int off,int len)给定字节数组中,偏移off处写入len个字节到输出流
FileOutputStream流顺序的写文件,只要不关闭流,每次调用write方法就顺序地向输出流写入内容,直到流被关闭。
以上代码见hyh.io--File/Fileinputstream/Fileoutputsream
以上输入输出流容易出现的问题就是:汉字乱码
FileReader类和FileWriter类
与FileInputStream和FileOutputStream字节流相对应的是FileReader和FileWriter字符流,其分别是Reader和Writer的子类,构造方法如下:
FileReader(String filename)
FileWriter(String filename)
使用字节读取文件时,字节流不能直接操作Unicode字符,所以Java提供字符流。由于汉字在文件中占用了两个字节,如果使用字节流,读取不当会出现乱码现象,采用字符流就可以避免这个现象,因为在Unicode字符中,一个汉字被看做一个字符。
如果需要每次读取一行数据,FileReader类没有提供这样的方法,所以必须把这个流再接到另外一个流伤,从后面的流中读取一行数据。Java为其命名为BufferedReader类,构造方法:
BufferedReader(Reader in)
BufferedReader流能够读取文本行,方法是readLine()
通过向BufferedReader传递一个Reader对象,来创建一个BufferedReader对象,
FileReader inone=new FileReader(“Student.txt”);
BufferedReader intwo=BufferedReader(inone);
类似的可以将BufferedWriter流和FileWriter流连接在一起,然后使用BufferedWriter流将数据写到目的地,
FileWriter tofile=new FileWriter(”hello.txt”);
BufferedWriter out=BufferedWriter(tofile)
然后out使用BufferedReader类的方法:
Write(String s,int off,int len)把字符串s写入到文件中,off是s开始处的偏移量,len是写入的字符数量
代码详情见hyh.javaio.FileReaderandWriter
代码总结:FileReader和FileWriter可以进行汉字的读取和写入
BufferedReader有读取行的功能,readLine()
RandomAccessFile类
RandomAccessFile类创建的流指向既可以作为源也可以作为目的地。换句话说,当想对一个文件进行读写操作时,可以创建一个指向该文件的RandomAccessFile流
构造方法:
RandomAccessFile(String name,String mode)参数name用来确定一个文件名,给出流的源。参数mode取r或者rw(只读或者读写),决定对文件的访问权限。
RandomAccessFile(File file,String mode)参数file是一个File对象,给出源,同时也是目的地。参数mode决定访问权限。
该类中有一个seek(long a)方法,用来定位RandomAccessFile流的读写位置。参数a确定读写位置距离文件开头的字节个数。
还可以调用getFilePointer()方法或者流当前的读写位置
类方法P280:
关闭文件
获取读写位置等。。。。。。。。
使用RandomAccessFile流实现一个通讯录的录入与显示系统
见RandomAccessFile
数据流P284
数组流P286
对象流P288
序列化与对象克隆P290
文件锁FileLockP293
Process类中的流P295
带进度条的输入流P298(这个是我自己整理的一部分的学习笔记,教材为Java2实用教程第三版(耿祥义编著),因为使用了word进行整理,首字母大写忘记取消和一些代码在myeclipse上,但是不妨碍你查看) 参考技术A 字节流,字符流。字节流继承于InputStream、OutputStream,字符流继承于InputStreamReader、
OutputStreamWriter。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。 参考技术B 亲人也会走到陌生的那一天吗?
以上是关于PHP中有几种主要的数据类型,通俗的解释一下他们的主要内容,如果未能解决你的问题,请参考以下文章