
正文
php5复合数据 php io复用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php数据类型判断函数有哪些
数据类型有三种:
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)不区分大小写。
相关问答
Q1: php的数据类型分为哪两类
变量的定义:在整个php脚本中可以发生改变的量叫做变量
变量命名的规则:
①所有的变量必须用$ 来修饰
②由字母数字下划线组成
③不能用数字开头
④可以是中文,但一般不用,不能包含特殊字符
⑤变量名区分大小写
四种标量数据类型:整型、实型(浮点型) 字符型布尔型
两种特殊类型:资源 NULL
两种复合数据类型:数组和对象
常量定义:在整个程序运行过程中其值不发生改变的量,切记常量不加$
例如:define(“A”,10); echo A; 输出10
Defined(常量名) //检测常量是否被设置
常量可以一旦被定义不能被修改,在整个运行过程中不可以改变的量
变量可 以改变的量,常量占内存,变量不占内存 因为变量在脚本执行结束时会自动释放
Q2: thinkphp5 怎么同时连接mysql和sqlserver 2种数据库
到微软官网下载文件,网址:百度搜索选择“SQLSRV20.EXE”,点击"next"(下一步),进行下载右键解压到当前目录,把这两个文件拷贝到PHP目录下的ext目录下下图是拷贝后的结果,请参考,不要拷错了。打开php-ini在文件中设置,加上下面两行代码,如下图下面这里设置为On,保存,重启服务,如下图修改thinkphp配置文件,如下图thinkphp控制器文件,随便查个sqlserver表中的数据,看是否能成功打印,如果成功打印,那么证明数据库连接成功。如果不能正确打印,那么看报错提示,在按照提示解决问题。
Q3: PHP5教程之文件操作
一 引论
在任何计算机设备中 文件是都是必须的对象 而在web编程中 文件的操作一直是web程序员的头疼的地方 而 文件的操作在cms系统中这是必须的 非常有用的 我们经常遇到生成文件目录 文件(夹)编辑等操作 现在我把php中的这些函数做一详细总结并实例示范如何使用 关于对应的函数详细介绍 请查阅php手册 此处只总结重点 和需要注意的地方 (这在php手册是没有的 )( lian )
二 目录操作
首先介绍的是一个从目录读取的函数 opendir() readdir() closedir() 使用的时候是先打开文件句柄 而后迭代列出:
?php $base_dir = filelist/ ; $fso = opendir($base_dir); echo $base_dir hr/ ; while($flist=readdir($fso)){ echo $flist br/ ; } closedir($fso) ?
这是讲返回文件目录下面的文件已经目录的程序( 文件将返回false)
有时候需要知道目录的信息 可以使用dirname($path)和basename($path) 分别返回路径的目录部分和文件名名称部分 可用disk_free_space($path)返回看空间空余空间
创建命令:
mkdir($path )
是权限码 在非window下可用umask()函数设置
rmdir($path)
将删除路径在$path的文件
dir directory 类也是操作文件目录的重要类 有 个方法 read rewind close 这是一个仿面向对象的类 它先使用的是打开文件句柄 然后用指针的方式读取的 这里看php手册:
?php$d = dir( /etc/php );echo Handle: $d handle /n ;echo Path: $d path /n ;while (false !== ($entry = $d read())) { echo $entry /n ;}$d close();?
输出:
Handle: Resource id # Path: /etc/php apachecgicli
文件的属性也非常重要 文件属性包括创建时间 最后修改时间 所有者 文件组 类型 大小等
下面我们重点谈文件操作
三 文件操作
A 读文件
首先是一个文件看能不能读取(权限问题) 或者存在不 我们可以用is_readable函数获取信息
?php$file = dirlist php ;if (is_readable($file) == false) { die( 文件不存在或者无法读取 );} else { echo 存在 ;}?
判断文件存在的函数还有file_exists(下面演示) 但是这个显然无is_readable全面 当一个文件存在的话可以用
?php$file = filelist php ;if (file_exists($file) == false) { die( 文件不存在 );}$data = file_get_contents($file);echo entities($data);?
但是file_get_contents函数在较低版本上不支持 可以先创建文件的一个句柄 然后用指针读取全部:
$fso = fopen($cacheFile r ); $data = fread($fso filesize($cacheFile)); fclose($fso);
还有一种方式 可以读取二进制的文件:
$data = implode( file($file));
B 写文件
和读取文件的方式一样 先看看是不是能写:
?php$file = dirlist php ;if (is_writable($file) == false) { die( 我是鸡毛 我不能 );}?
能写了的话可以使用file_put_contents函数写入:
?php $file = dirlist php ; if (is_writable($file) == false) { die( 我是鸡毛 我不能 ); } $data = 我是可鄙 我想要 ; file_put_contents ($file $data); ?
file_put_contents函数在php 中新引进的函数(不知道存在的话用function_exists函数先判断一下)低版本的php无法使用 可以使用如下方式:
$f = fopen($file w ); fwrite($f $data); fclose($f);
替换之
写文件的时候有时候需要锁定 然后写:
function cache_page($pageurl $pagedata){ if(!$fso=fopen($pageurl w )){ $this warns( 无法打开缓存文件 );//trigger_error return false; } if(!flock($fso LOCK_EX)){//LOCK_NB 排它型锁定 $this warns( 无法锁定缓存文件 );//trigger_error return false; } if(!fwrite($fso $pagedata)){//写入字节流 serialize写入其他格式 $this warns( 无法写入缓存文件 );//trigger_error return false; } flock($fso LOCK_UN);//释放锁定 fclose($fso); return true; }
C 复制 删除文件
php删除文件非常easy 用unlink函数简单操作:
?php $file = dirlist php ; $result = @unlink ($file); if ($result == false) { echo 蚊子赶走了 ; } else { echo 无法赶走 ; } ?
即可
复制文件也很容易:
?php $file = yang txt ; $newfile = ji txt ; # 这个文件父文件夹必须能写 if (file_exists($file) == false) { die ( 小样没上线 无法复制 ); } $result = copy($file $newfile); if ($result == false) { echo 复制记忆ok ; } ?
可以使用rename()函数重命名一个文件夹 其他操作都是这几个函数组合一下就能实现的
D 获取文件属性
我说几个常见的函数:
获取最近修改时间:
?php $file = test txt ; echo date( r filemtime($file)); ?
返回的说unix的时间戳 这在缓存技术常用
相关的还有获取上次被访问的时间fileatime() filectime()当文件的权限 所有者 所有组或其它 inode 中的元数据被更新时间 fileowner()函数返回文件所有者
$owner = posix_getpwuid(fileowner($file));
(非window系统) ileperms()获取文件的权限
?php$file = dirlist php ;$perms = substr(sprintf( %o fileperms($file)) );echo $perms;?
filesize()返回文件大小的字节数:
?php
// 输出类似 somefile txt: bytes
$filename = somefile txt ; echo $filename : filesize($filename) bytes ;
?
获取文件的全部信息有个返回数组的函数stat()函数:
?php $file = dirlist php ; $perms = stat($file); var_dump($perms); ?
那个键对应什么可以查阅详细资料 此处不再展开
四 结束语
lishixinzhi/Article/program/PHP/201311/21262
Q4: 什么是标量类型 php中的
数据类型分为:标量数据类型,复合数据类型,特殊数据类型1.标量数据类型:是数据结构中最基本单元,只能储存一个数据,包括boolean,string,integer,float1.1string类型:定义字符串与三种方式:单引号(‘)、双引号(“)、界定符()单引号和双引号是常使用定义方式,区别是双引号中包含的变量会自动被替换成实际数值,而单引号包含的变量则按普通字符串输出。?php$i="welcome to network1024";echo '$i'; //将输出$iecho "$i"; //输出welcome to network1024? 转义字符:
序列 含义\n 换行\r 回车\t 水平制表符\\ 反斜线\\$ 符号$\’ 符号’\” 符号”\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的符号\x[0-9A-Fa-f]{1-2} 此正则表达式序列匹配一个用十六进制符号表示的符号注意:\n和\r在windows系统下没区别,都可当回车符;Linux下\n表示光标回到行首,仍在本行,\r则换到下一行,却不会回到行首。?php$i=network1024 //必须另起一行welcome to network1024network1024;echo "$i"; //输出welcome to network1024?1.2integer类型:32位系统范围:-2147483648~2147483647,如果超出范围发生整数溢出,当float处理,返回float类型;表示方式:十进制:123;八进制:0123;十六进制:0x123;1.3float类型:32位系统范围:1.7E-308~1.7E+308表示方式:标准格式:3.141592654;科学计数法试:3141592654E-9注意:浮点数数值只是一个近似值,所以尽量避免浮点数间比较大小,因为最后的结果往往不准确。 2复合数据类型:包括数组array和对象object数组类型:是一个数据集合,可以包括多种数据:标量数据、数组、对象、资源、及PHP中支持的其他语法结构。数组中每个数据成为一个元素,元素包括索引(键名)和值两部分。元素索引只能有数字或字符串组成。元素值可以是多种数据类型。数组索引自动编号从0开始语法格式:$array=(“value1”,”value2”……)或$array[key]=”value”或$array(key1=value1,key2=value2……)?php$network1024=array(1="how",2=2,'are'="you");echo $network1024[2]; //输出2echo $network1024[are]; //输出you?声明数组后,数组中的元素个数可以自由更改。只要给数组赋值,数组就会自动增加长度。 3特殊类型:包括空值NULL和资源resourceresource:资源是由专门的函数来建立和使用的,它是一种特殊的数据类型,并由程序员分配。在使用资源时,要及时释放不需要的资源。如果忘记释放资源,系统自动启动垃圾回收机制,避免内存消耗殆尽。NULL:表示变量没有值。NULL不区分大小写,null和NULL都是一样。为NULL的情况:被赋为null;尚未被赋值;通过函数unset()而被销毁。 4数据类型转换:(type)value类型关键字 类型转换 类型关键字 类型转换(int),(integer) 转换成整形 (array) 转换成数组(float),(double),(real) 转换成浮点型 (object) 转换成对象(bool),(boolean) 转换成浮点型 (string) 转换成浮点型注意:转换为boolean:null、0、未赋值的变量或数组会转换为false,其他为true转化为integer:boolean:false为0,true为1 float:小数部分被舍去 string:以数字开头则截取到非数字位,否则输出0 通过函数bool settpye(mixed var , string type)var为指定变量;type为要转换的类型boolean/float/integer/string/array/null/objectsettype会改变变量自身类型
php5复合数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php io复用、php5复合数据的信息别忘了在本站进行查找喔。







