php基础语法之数组和数组指针_第1页
php基础语法之数组和数组指针_第2页
php基础语法之数组和数组指针_第3页
php基础语法之数组和数组指针_第4页
php基础语法之数组和数组指针_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数组的指针问题讨论拷贝时考虑复制时的指针位置问题:指针位置,随之复制!如果原数组指针已经非法了呢?再看:问题是,复制后,谁先执行的current,哪个数组指针被初始化!该现象的原因是:如果数组指针位置非法,复制时,会将新数组指针初始化!值传递时,PHP采用了一个COW(写时复制,copyonwrite)的优化措施!写时复制的两个要点:one,在值传递时,并没有马上为新变量开辟值空间,而在两个变量都未发生改变之前,还是使用的一个值空间two,一旦某个变量发生改变,此时会复制值空间,让发生改变的变量去引用新的空间!注意,current也会发出写操作,导致空间被复制!先current谁,谁是那个新的,指针被初始化!foreach时遍历的是拷贝而不是原数组!只有在原数组发生写操作时,才会真正的拷贝。此时原数组指针停留在当前位置,如果已经非法,则会初始化!数组函数range()函数,可以得到某个范围内的元素数组:array_merge();数组合并,合并多个!下标重复会怎么样?数值索引:完全重新索引!字符下标:后出现的元素值会覆盖前面的元素值!array_rand(数组,个数);随机地从数组内取得元素,取得是下标!如果多个,返回随机下标的集合!结果是被排序之后的,从小到大!shuffle(&$arr).打乱数组内元素的顺序注意,参数为引用传递!会打乱原数组典型的还要遍历,获得所有的值!键值操作array_keys();取得所有的键array_values();取得所有的值array_key_exists();某个键是否存在in_array();是否存在某个值判断某个元素是否存在,典型的是使用isset()来判断array_combine();利用两个数组合并成一个数组,其中一个作为键,另一个作为值!array_fill();填充数组数组=array_fill(起始下标,填充的元素个数,填充的值);拆分合并array_merge()array_chunk();拆分数组,原则是子数组内的元素个数!explode(),将字符串依据某个分隔符,分割成多个数组implode(),将数组内的元素,利用某个分隔符,连接成一个字符串!字符串函数:array_intersect($arr1,$arr2);计算两个数组的交集,找到在$arr1中存在,并也在$arr2中存在的元素,数据是出现在第一个参数中的:array_di

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论