php数组长度

理解PHP数组的序列化和反序列化

时光总嘲笑我的痴心妄想 提交于 2020-03-01 14:09:27
  当我们想要将数组值存储到数据库时,就可以对数组进行序列化操作,然后将序列化后的值存储到数据库中。其实 PHP序列化数组就是将复杂的数组数据类型转换为字符串,方便数组存库操作 。对PHP数组进行序列化和反序列化操作,主要就用到两个函数, serialize 和 unserialize 。 一、PHP数组序列化:serialize 1 $arr = array('PHP','Java','Python','C'); 2 $result = serialize($arr); 3 echo $result; 运行: a:表示整体的数据类型,这里是array; a:4中的4:表示数组元素的个数; i:表示int,整型; 0:表示数组元素的下标; s:表示string,即数组值的类型; s:3中3:表示数组值的长度。 ps: serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。 二、PHP反序列化:unserialize 1 $arr = array('PHP','Java','Python','C'); 2 $result = serialize($arr); 3 var_dump(unserialize($result)); 运行: ps: unserialize()

PHP数组处理总结

空扰寡人 提交于 2020-02-23 19:06:42
一、数组操作的基本函数 数组的键名和值 array_values($arr);获得数组的值 array_keys($arr);获得数组的键名 array_flip($arr);数组中的值与键名互换(如果有重复前面的会被后面的覆盖) in_array("apple",$arr);在数组中检索apple array_search("apple",$arr);在数组中检索apple ,如果存在返回键名 array_key_exists("apple",$arr);检索给定的键名是否存在数组中 isset($arr[apple]):检索给定的键名是否存在数组中 数组的内部指针 current($arr);返回数组中的当前单元 pos($arr);返回数组中的当前单元 key($arr);返回数组中当前单元的键名 prev($arr);将数组中的内部指针倒回一位 next($arr);将数组中的内部指针向前移动一位 end($arr);将数组中的内部指针指向最后一个单元 reset($arr;将数组中的内部指针指向第一个单元 each($arr);将返回数组当前元素的一个键名/值的构造数组,并使数组指针向前移动一位 list($key,$value)=each($arr);获得数组当前元素的键名和值 数组和变量之间的转换 extract($arr)

PHP基础2

喜欢而已 提交于 2020-02-22 05:48:58
正则表达式: 定界符:/开头/结尾 ^匹配开头  $匹配结尾  *前面的表达式可以出现n次可以为0 +前面的表达式至少出现一次  ?前面的表达式可出现1或0次 {n}匹配n次  {n,}最少匹配n次 最多不限 {n,m}最少匹配n次,做多m次  x|y匹配x或y次 [xyz]匹配其中任何一个 [a-z]匹配a-z之间任何一个 \d任意一个数字  \D任意一个非数字 \s任何不可见字符  \S匹配任何可见字符 \v制表符  \w包括下划线的任意单词字符 preg_replace寻找替换  preg_split将字符串分割 preg_match匹配第一个  preg_match_all匹配所有 数组: 定义数组:$arr=array(1,2,3,4,5) 强类型语言数组特征:1.只能存储相同类型的数据           2.数组的长度固定           3.在内存里面是连续的 取值echo $arr[0] 默认从0开始 关联数组:$arr1=array(“one”=>"111","two"=>"222") 非常规定义方式: $arr2["one"]="aaa"(赋值定义) 删除数组元素 unset($arr[2]) 添加数组元素$arr[2]=10  追加元素$arr[]=10) 遍历数组: 1.for循环遍历(只能遍历索引数组) for($a=0;$a<count($arr)

php比较两个数组的差异array_diff()函数

会有一股神秘感。 提交于 2020-02-22 05:42:22
下面简单介绍php比较两个数组的差异array_diff()函数。 原文地址:小时刻个人技术博客 > http://small.aiweimeng.top/index.php/archives/9.html php内置函数中有一个array_diff():意思比较两个数组的键值,并返回差集。 下面是通过数组遍历来实现差集: 首先有两个不同的数组$arr_1,$arr_2: 一种方法: function fun($arr_1,$arr_2) { foreach ($arr_1 as $key => $val) { $bool = false; foreach ($arr_2 as $k => $v) { if($bool = ($val == $v)) { break; } } if(!$bool) { $diff[$key] = $val; } } } 这种虽然能够实现数组间的差异,如果数组长度达到一定的长度后,效率不容乐观。 二种方法: foreach ($arr_1 as $key => $val) { if(in_array($val,$arr_2)) { unset($arr_1[$key]); } } 这种方式在其他博客上说可以和array_diff()媲美。 三种方式: 通过```array_flip();```将arr_2数组键值反转后,判断arr

php基础(二)数组

帅比萌擦擦* 提交于 2020-02-13 07:14:11
本文主要内容来自w3cschool 在 PHP 中,有三种数组类型:   索引数组 - 带有数字索引的数组   关联数组 - 带有指定键的数组   多维数组 - 包含一个或多个数组的数组 PHP 索引数组 有两种创建索引数组的方法: 索引是自动分配的(索引从 0 开始): $cars=array("Volvo","BMW","SAAB"); 或者也可以手动分配索引: $cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="SAAB"; 下面的例子创建名为 $cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本: 实例 <?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?> 获得数组的长度 - count() 函数 <?php $cars=array("Volvo","BMW","SAAB"); echo count($cars); ?> 遍历索引数组 <?php $cars=array("Volvo","BMW","SAAB"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars

PHP 4 数组

你说的曾经没有我的故事 提交于 2020-02-13 05:26:58
数组能够在单独的变量名中存储一个或多个值。 实例 数组在单个变量中存储多个值: <?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>    什么是数组? 数组是特殊的变量,它可以同时保存一个以上的值。 如果您有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的: $cars1="Volvo"; $cars2="BMW"; $cars3="SAAB";    不过,假如您希望对变量进行遍历并找出特定的那个值?或者如果您需要存储 300 个汽车品牌,而不是 3 个呢? 解决方法是创建数组! 数组能够在单一变量名中存储许多值,并且您能够通过引用下标号来访问某个值。 PHP 索引数组 有两种创建索引数组的方法: 索引是自动分配的(索引从 0 开始): $cars=array("Volvo","BMW","SAAB"); 索引数组 - 带有数字索引的数组 关联数组 - 带有指定键的数组 多维数组 - 包含一个或多个数组的数组 或者也可以手动分配索引: $cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="SAAB";   下面的例子创建名为 $cars 的索引数组

php实现快速排序

老子叫甜甜 提交于 2020-02-11 05:14:53
首先我们要理解一下快速排序的原理: 找到当前数组中的任意一个元素(一般选择第一个元素),作为标准,新建两个空数组,遍历整个数组元素, 如果遍历到的元素比当前的元素要小,那么就放到左边的数组,否则放到右面的数组,然后再对新数组进行同样的操作, 不难发现,这里符合递归的原理,所以我们可以用递归来实现。 使用递归,则需要找到递归点和递归出口: 递归点:如果数组的元素大于1,就需要再进行分解,所以我们的递归点就是新构造的数组元素个数大于1 递归出口:我们什么时候不需要再对新数组不进行排序了呢?就是当数组元素个数变成1的时候,所以这就是我们的出口。 理解了原理,来看一下代码实现~ <?php //快速排序 //待排序数组 $arr=array(6,3,8,6,4,2,9,5,1); //函数实现快速排序 function quick_sort($arr) { //判断参数是否是一个数组 if(!is_array($arr)) return false; //递归出口:数组长度为1,直接返回数组 $length=count($arr); if($length<=1) return $arr; //数组元素有多个,则定义两个空数组 $left=$right=array(); //使用for循环进行遍历,把第一个元素当做比较的对象 for($i=1;$i<$length;$i++) { /

PHP总结

房东的猫 提交于 2020-02-09 17:35:39
一.php基础语法 1.输出语句:echo print print_r var_dump() 2.php是弱类型语言 强制转换类型: (类型)变量 settype(变量,类型) 3.变量定义 $a = 5; 可变变量:$b="a"; $$b =10; 判断变量类型 gettype(变量);获取变量类型 is_类型() is_int();判断变量是否是该类型 判断变量是否为空:empty() isset(); 删除变量:unset(); 4.字符串的定义方式 $str = "hello"; 可以解析变量 解析转义字符 $str = 'hello'; 不能解析 $str = <<<A hello A; 不用担心单引号和双引号的问题 5.运算符与表达式 6.语句 分支:if switch...case 循环:for foreach while do...while 7.函数 四要素:返回类型,函数名,参数列表,函数体 函数的定义方式: function Show() 普通的{ } function Show($a) 有参数的{ } function Show() 有返回的{ return $a; } function Show($a=5) 有默认值的{ } function Show() 参数可变的{ func_get_args(); } 8.常用的函数 随机数的:rand();

PHP------知识复习

巧了我就是萌 提交于 2020-02-09 17:35:21
PHP概述 (1)PHP(Hypertext Perprocessor)超级文本预处理器 (2) PHP是一种在服务器端执行的嵌入HTML文档的脚本语言 (3) 是一种网站开发语言(B/S结构) (4) 支持大多数操作系统和数据库、服务器 (5) 开源 PHP开发步骤 (1) 编写源文件 (2) 将原文件上传到web服务器中 (3) 使用浏览器访问 一.php基础语法 1.输出语句: echo print print_r var_dump() 2.php是弱类型语言 强制转换类型: (类型)变量 settype(变量,类型) 3.变量定义 $a = 5; 可变变量:$b="a"; $$b =10; 判断变量类型 gettype(变量);获取变量类型 is_类型() is_int();判断变量是否是该类型 判断变量是否为空:empty() isset(); 删除变量:unset(); 4.字符串的定义方式 $str = "hello"; 双引,可以解析变量 解析转义字符 $str = 'hello'; 单引,不能解析 $str = <<<A hello A; 不用担心单引号和双引号的问题 5.运算符与表达式 6.语句 分支:if switch...case 循环:for foreach while do...while 7. 函数 四要素:返回类型,函数名,参数列表,函数体

php前段时间复习

走远了吗. 提交于 2020-02-09 17:35:03
php // 1.php基础语法 //输出语句 echo print print_r var_dump() //2.php是弱类型语言 //强制转换类型:(类型)变量 settype(变量,类型) //3.变量定义 $a = 5 ; // 可变变量:$b = "a"; $$b = 10; //判断变量类型 gettype(变量);获取变量类型 is_类型() is_int();判断变量是否是该类型 //判断变量是否为空:empty(); isset() //删除变量:unset(); //4.字符串的定义方式 $str = "hello"; // 可以解析转义字符和变量 $str = 'hello'; // 不能解析转义字符和变量 $str = <<< A hello A; // 不用担心单引号和双引号的问题 //5.运算符表达式(+ - * / ++ -- = 等) //6.语句 //分支: if switch...case //循环:for foreach while do...while //7.函数 //四要素:返回类型、函数名、参数列表、函数体 //在php里面函数的定义方式 function show() // 普通 { } function show( $a) // 有返回的 { } function show() // 有默认的 { return $a ; }