php数组函数

php数组函数

南笙酒味 提交于 2020-03-27 15:54:05
数组 php中的数组是一个有序映射,映射是一种把values关联到keys的类型,数组可以接受任意数量用逗号分隔符的键值对。 数组的介绍 /* * php中数组可以分为: * 索引数组:下标是数字 * 关联数组:下标是字符串 * 注:php中数组其实不区分索引还是关联数组,都是根据键名找到对应的值 * * php可以同时包含integer和string类型的键名 * key:可以是一个整数integer或者字符串string * value:可以是任意类型的值 * * php中的key只能是integer或这string类型,如果使用其他类型会自动转换: * 1. 包含有合法整型值的字符串会被自动转换成整型(如'8'会被转换为8,但是'08'不会被转换) * 2. 浮点数会被转换成整型,小数部分会被舍去 * 3. 布尔值会被转换成整型(true转成1,false转成0) * 4. NULL会被转换成空字符串,即'' * 5. 数组和对象不能被用为键名 * * 如果数组定义中多个单元都用了同一个键名,则只会使用最后一个,之前的值都会被覆盖 * 如果没有指定键名,且键名不都为负数,新添加的元素的键名是已有键名的最大值+1 * 如果键名都为负数,那么新添加的元素键名从0开始 * */ 数组的创建 $arr1 = array(); //创建一个空数组 $arr2 = array(1, 2,

php整理

自闭症网瘾萝莉.ら 提交于 2020-03-27 14:58:16
1. include 和 require 的区别 加载失败的处理方式不同。引入不存在的文件时, include 会产生警告且脚本还会继续执行, require 则会导致一个致命性错误且脚本停止执行。 文件引用方式不同。 include() 执行时需要引用的文件每次都进行执行,并且可以有返回值, require() 只是单纯的文件替换,没有返回值 require 一般放在 PHP 文件的最前面,程序在执行前会先倒入所需要引用的文件; include 一般放在程序的控制流程中,当程序执行时碰到才会引用,简化程序的执行流程。 2.常用关键字 final :用于声明方法和类,修饰类时,该类不能被继承,修饰方法时,该方法不能被覆盖。 static :主要用来修饰成员变量以及成员方法,分别为静态变量和静态方法,通过类直接调用。 global :主要使用于函数内声明变量为全局变量,在函数内部可以使用外部变量。 global 声明的变量只是全局变量的一个同名引用, $GLOBALS 是全局变量本身。 this 、 self 、 parent : this 是指向当前对象的指针, self 是指向当前类的指针, parent 是指向当前父类的指针。 Trait :是为 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制

php数据类型

荒凉一梦 提交于 2020-03-27 12:24:29
PHP 数据类型 PHP 支持八种原始的 数据类型 : 布尔型 /* * boolean:TRUE FALSE * 以下值被认为是FALSE: * 布尔值FALSE本身 * 整型值0(零) * 浮点型0.0(零) * 空字符串,以及字符串"0" * 不包含任何元素的数组 * 特殊类型NULL(包括尚未赋值的变量) * ---所有其他值都被认为是TRUE */ $foo = true; echo "foo的值是:$foo"."\n"; if ($foo){ echo "foo是真值"."\n"; } else{ echo "foo是假值"."\n"; } 整型 /* * Integer 整型,可以十进制、十六进制(0x)、八进制(0)、二进制(0b) * php不支持无符号整数,即php中的整数都是有符号的,最大的整数为PHP_INT_MAX * 注:如果给定一个数超出了integer的范围,将会被解释成float,同样如果执行的运算结果超出了integer范围,也会返回float */ //PHP中没有整除运算符,1/2会产生float 0.5。 echo 1/2; echo "\n"; echo (integer)(1/2); //integer强制转换为整型(去尾法) echo "\n"; echo round(1/2); //round()四舍五入 echo "\n"; /

php函数 极简版

只谈情不闲聊 提交于 2020-03-19 03:27:34
explode() implode() substr() str_replace() str_ireplace() strchar() strrchar() strstr() strpos() stripost() strlen() count() array() array_combine() range() compact() array_fill() array_chunck() array_merge() array_slice() 取值 返回 array_splice() 取值 替换 array_diff() 差集 array_intersect() 交集 array_search() array_sum() array_key_exists() in_array() key() current() next() prev() end() reset() list($a,$b,$c) = $array; 用数组中的元素为一组变量赋值 array_shift() array_unshift() array_push() array_pop() shuffle() 数组洗牌 打乱 array_flip() 键值反转 array_keys() arrya_values() array_reverse() 反转 array_count_values() array_rand()

如何获取数组中的最后一个键?

試著忘記壹切 提交于 2020-03-17 16:25:54
某厂面试归来,发现自己落伍了!>>> 如何获得数组的最后一个键? #1楼 只需使用: echo $array[count($array) - 1]; #2楼 不知道这是否会更快,但是用这种方法似乎更容易,并且可以通过不将函数传递给end()来避免错误。 它只需要一个变量...再写一行代码就没什么大不了的,然后在需要时取消设置。 $array = array( 'first' => 123, 'second' => 456, 'last' => 789, ); $keys = array_keys($array); $last = end($keys); #3楼 $arr = array('key1'=>'value1','key2'=>'value2','key3'=>'value3'); list($last_key) = each(array_reverse($arr)); print $last_key; // key3 #4楼 一个解决方案是结合使用 end 和 key (引号) : end() 将array的内部指针前进到最后一个元素,并返回其值。 key() 返回当前数组位置的索引元素。 因此,像这样的一部分代码应该可以解决问题: $array = array( 'first' => 123, 'second' => 456, 'last' => 789, ); end

PHP生成N个不重复的随机数

浪尽此生 提交于 2020-03-15 17:49:44
原理就是将数组顺序随即打乱 ,然取该数组中的某一段 方法1: <?php //range 是将1到100 列成一个数组 $numbers = range (1,100); //shuffle 将数组顺序随即打乱 shuffle ($numbers); //array_slice 取该数组中的某一段 $result = array_slice($numbers,0,3); print_r($result); ?> 方法2: <?php $numbers = range (1,20); srand ((float)microtime()*1000000); shuffle ($numbers); while (list (, $number) = each ($numbers)) { echo "$number "; } ?> 方法3: 用PHP,在1-20间随机产生5个不重复的值 <?php function NoRand($begin=0,$end=20,$limit=5){ $rand_array=range($begin,$end); shuffle($rand_array);//调用现成的数组随机排列函数 return array_slice($rand_array,0,$limit);//截取前$limit个 } print_r(NoRand()); ?>

PHP 超全局变量

只谈情不闲聊 提交于 2020-03-11 11:27:03
PHP 超全局变量 $GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。 $_SERVER 变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。 $_GET 经由 HTTP GET 方法提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。 $_POST 经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。 $_COOKIE 经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。 $_FILES 经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。 $_ENV 执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。 $_REQUEST 经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任

流程控制 - PHP手册笔记

风流意气都作罢 提交于 2020-03-11 06:46:04
脚本由语句构成,语句靠流程控制实现功能,这一节主要介绍了几个关键字的使用。 elseif elseif 和 else if 的行为完全一样,如果用冒号来定义 if/elseif 条件,那就不能用两个单词的 else if ,否则PHP会产生解析错误。 <?php $a = 1; $b = 2; if($a > $b) : echo "$a is greater than $b"; elseif($a == $b) : echo "$a equals $b"; else : echo "$a is neither greater than or equal to $b"; endif; 替代语法 下面的这些关键字可以使用流程控制的替代语法,基本形式是把左花括号换成冒号,右花括号换为下面的字符。 if - endif while - endwhile for - endfor foreach - endforeach switch - endswitch 注意!PHP不支持在同一控制块内混合使用两种语法。 do-while 这个循环乍看起来挺熟悉的,但是却忽略了它的某些用法。 手册中说,资深的C语言用户可能熟悉另一种不同的 do-while 循环用法,把语句放在 do-while(0) 之中。我竟然第一次听说有这种技巧,看来我还是C语言小白。 顺便搜索整理一下 do-while(0)

php系统函数

时光毁灭记忆、已成空白 提交于 2020-03-08 08:04:56
系统函数 数组相关的函数: 数组的键/值操作: 1.array_values($arr) 返回数组中所有的值并给其建立数字索引 2.array_keys($arr[, '值'[, true]]) 返回数组中所有的键名 给'值'表示拿出该值的键 给'true'表示值用===判断 3.in_array('值', $arr[, true]) 判断数组中是否有某个值 给true表示用===判断 4.array_key_exists('键', $arr) 判断数组中是否有某个键 5.array_flip($arr) 键值交换 6.array_reverse($arr[, true]) 反转数组 给true表示保留原来的数字下标 统计与唯一性: count($arr[, 1]) 统计数组元素的个数 给1表示递归统计数组个数(不常用) array_count_values($arr) 统计数组中值出现的次数 注意:只能统计string或者int,否则报错 substr_count($str,',')统计字符串某字符出现的次数。 array_unique($arr) 去除数组中重复的元素,保留前面的值 使用回调函数过滤数组: array_filter($arr, callback); 会将数组中的每个值都传给回调函数,在回调函数中返回true就保留该值,返回false就不保留 数组排序函数: 1

PHP学习笔记之数组(一)

只谈情不闲聊 提交于 2020-03-07 07:33:52
最近正在学习PHP,就把学习到的知识和心得写出来,以防学完就忘,也请各位博友指点! 其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合。 一、如何定义数组:在PHP中创建数组主要有两种方式,下面就让我们来看看如何创建一个数组 (1)直接给每个元素赋值的方法创建数组。 格式为:$arrayname[key]=value; 其中arrayname为数组的名字,key为数组的元素的键,value为元素的值。键可以是0,1,2,3这一类数字,也可以是字符串。如下所示: 1 <?php 2 //用1,2,3的数值作为数组的键 3 echo '<p>数组$array1的键值为:</p>'; 4 $array1[1]='a'; 5 $array1[2]='b'; 6 $array1[3]='c'; 7 print_r($array1); 8 9 //如果省略键的方式,则数组默认的键为从0开始递增的数值10 echo '<p>数组$array2的键值为:</p>';11 $array2[]='a';12 $array2[]='b';13 $array2[]='c';14 print_r($array2);15 16 //以字符串作为数组的键17 echo '<p>数组$array3的键值为:</p>';18 $array3['one']='a';19 $array3[