<pre>
<?php
header("Content-Type:text/html;charset=utf-8");
/*知识点一:赋值运算符 =
代码示例:数组是按值赋值的
数组按引用赋值也需要使用 & 符号。*/
//例:
/*$a1 = array(2, 4, 6);
$a2 = $a1;
$a2[1] = 5;
var_dump($a1); //输出$a1的值并没有变化,$a2的修改不影响 $a1
*/ /*知识点二:数组联合*/
/*
1)+号运算符
$a + $b; 数组 $b中元素被附加到$a中,键名与$a冲突的元素被忽略。
*/
//例:
/*$a1 = array(2);
$a2 = array(4,6);
$b = $a1 + $a2;
var_dump($b);//输出 2,6两个元素*/ /*2)array_merge函数
函数原形:array array_merge ( array $array1 [, array $... ] )
功能描述:
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。
返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。
然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
*/
//代码示例一:关联型数组,后面一个的值会覆盖前面一个的值
/*$a = array('a'=>2, 'b'=>3);
$b = array('a'=>6);
$c = array_merge($a, $b);
var_export($c); */ //如果是索引型则不覆盖,而是连续重新索引
/*$a = array(2, 'b'=>3);
$b = array(6,9);
$c = array_merge($a, $b);
var_export($c); */ //知识点三:在同一个数组中,如果有多个同名的键,则最后一个会覆盖前面的。
/*$a = array('a'=>2, 'b'=>3, 'a'=>6, 'c'=>9, 'a'=>5);
var_export($a); */
//输出:
/*array (
'a' => 5,
'b' => 3,
'c' => 9,
) */ //知识点四:数组比较
//1)== 等价,数组$a与$b包含相同的元素既满足条件
//$a = array(2,4,1);
//$b = array(2,4,true);
//var_dump($a == $b);
//结果 true 如果是恒等则为false
//2)=== 恒等,数组 $a与$b包含相同元素切类型,顺序都相同
//3)类似的还有 不等价 != 、 <> ,不恒等 !== 与对应的等价恒等相反。 /*知识点五:数组添加array_push
原形:int array_push ( array &$array , mixed $var [, mixed $... ] )
功能:将一个或多个单元压入数组的末尾(入栈)
array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。
array 的长度将根据入栈变量的数目增加。和如下效果相同:
*/
//例;
/*$a = array('d' => '中','美') ;
echo array_push($a,'日','韩'); //结果:4
print_r($a); */
//结果:Array ( [d] => 中 [0] => 美 [1] =>日 [2] =>韩 ) /*知识点六:array_pop — 将数组最后一个单元弹出(出栈)
原形:mixed array_pop ( array &$array )
功能:弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。
如果 array 为空(或者不是数组)将返回 NULL。 此外如果被调用不是一个数组则会产生一个 Warning。
代码示例:*/
/*$a= array('中','美','日','韩');
$b = array_pop($a);
echo $b;//输出:韩*/
//必背内容:返回的是最后一个元素 韩,省下的是 Array ( [0] => 中 [1] => 美 [2] => 日 ) /*知识点七:array_shift — 将数组开头的单元移出数组
原形:mixed array_shift ( array &$array )
功能:将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。
*/
/*$a= array('d'=>'中','美','x'=>'日','韩');
$b = array_shift($a);
echo $b;//输出:中
print_r($a);*/
//剩余:Array ( [0] =>美 [x] =>日 [1] => 韩 ) /*知识点八: array_unshift — 在数组开头插入一个或多个单元
原形:int array_unshift ( array &$array , mixed $var [, mixed $... ] )
功能:将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。
所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。*/
/*$a= array('d'=>'中','美','x'=>'日','韩');
echo array_unshift($a,"PHP"); //返回:5
print_r($a); //结果:Array ( [0] => PHP [d] => 中 [1] =>美 [x] =>日 [2] =>韩 )
*/ /*
知识点九:array_slice
函数原形:array array_slice( array $array, int $offset [,int $length = NULL [,bool $preserve_keys=false ]])
功能:返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
*/
/*参数说明:
array 输入的数组。 offset 如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。 length 如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。 preserve_keys 注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将 preserve_keys 设为 TRUE 来改变此行为。
*/
/*$a = array(2,4,6);
$b = array_slice($a,1,2,true); //true能保留原来索引键值,对关联型无效。
var_dump($b);*/
//输出:
/*array (size=2)
1 => int 4
2 => int 6*/ /*知识点十一: array_chunk — 将一个数组分割成多个
函数原形:array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )
将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少于 size 个。
返回值:得到的数组是一个多维数组中的单元,其索引从零开始,每一维包含了 size 个元素。
参数:
input 需要操作的数组
size 每个数组的单元数目
preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。
如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。
*/
//例:
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true)); //保留原来的键
?>

PHP:第四章——PHP数组添加,删除,插入,分割,合并,及运算符的更多相关文章

  1. JS数组添加删除

    栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.原文: https://www.w3cplus.com/j ...

  2. PHP:第四章——PHP数组array_diff计算数组差集

    <pre> <?php header("Content-Type:text/html;charset=utf-8"); /*知识点一:array_diff — 计 ...

  3. PHP:第四章——PHP数组查找,替换,过滤,判断相关函数

    <pre> <?php //查找,替换,过滤,判断相关函数 header("Content-Type:text/html;charset=utf-8"); /*知 ...

  4. PHP:第四章——PHP数组处理函数

    <pre> <?php //数组处理函数 header("Content-Type:text/html;charset=utf-8"); //compact(); ...

  5. 自学Java第四章——《数组》

    4.1 数组的相关概念和名词(了解) 1.数组(array): 一组具有相同数据类型的数据的按照一定顺序排列的集合. 把有限的几个相同类型的变量使用一个名称来进行统一管理. 2.数组名: (1)这个数 ...

  6. PHP:第四章——PHP数组array_intersect计算数组交集

    <pre> <?php //array_intersect计算数组交集 header("Content-Type:text/html;charset=utf-8" ...

  7. PHP:第四章——PHP数组转换,统计,相关函数

    <pre> <?php //数组转换,统计,相关函数 header("Content-Type:text/html;charset=utf-8"); //coun ...

  8. 第四章 数据更新 4-1 数据的插入(INSERT 语句的使用方法)

    一.什么是INSERT 用来插入数据的SQL就是INSERT语句.   二.INSERT 语句的基本语法. 列清单 值清单 列清单和值清单的列数必须保持一致,如果不一致会出错.   原则上,执行一次I ...

  9. 第29天:js-数组添加删除、数组和字符串相互转换

    一.添加数组var arr=[1,3,5];arr.push(7,9);//添加7和9到数组arr后面,得到[1,3,5,7,9]1.push();可向数组末尾添加一个或多个元素,并返回新的长度.2. ...

随机推荐

  1. 20145122《Android开发基础》实验四实验报告

    实验名称 Android开发基础 实验内容 1.Windows环境下Android Studio 2.能够运行安卓AVD模拟器 3.使用安卓虚拟手机显示HelloWorld以及自己的学号 统计的PSP ...

  2. updateByPrimaryKeySelective更新失败

    问题:使用Mybatis中Mapper内置方法updateByPrimaryKeySelective更新失败. 发现:控制台打印出来的sql语句发现where条件出现所有属性. 解决:映射的实体类没有 ...

  3. Python的递归

    递归 是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象.在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知.使用递归解决问题,思路清晰,代码少.但是在主流高 ...

  4. Node.js中package.json中^和~的区别

    webpack 项目的package.json 文件列出了项目所依赖的插件和库,同时也给出了对应的版本说明,但是在版本说明前面还有个符号:'^'(插入符号)和'~'(波浪符号),总结了下他们之间的区别 ...

  5. UVa 208 消防车(dfs+剪枝)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. Maven java.lang.OutOfMemeoryError 问题

    设置MAVEN_OPTS环境变量的值为:-Xms128m -Xmx512m Java默认的最大可用内存往往不能够满足Maven运行的需要 比如在项目较大时,使用Maven生成项目站点需要占用大量的内存 ...

  7. go 修改字符串

    在Go中字符串是不可变的,例如下面的代码编译时会报错:cannot assign to s[] var s string = "hello" s[] = 'c' 但如果真的想要修改 ...

  8. Springboot 学习笔记 之 Day 4 笔记部分

    spring-boot-starter 核心Spring Boot starter,包括自动配置支持,日志和YAMLspring-boot-starter-actuator 生产准备的特性,用于帮你监 ...

  9. Java8 新特性之默认接口方法

    摘要: 从java8开始,接口不只是一个只能声明方法的地方,我们还可以在声明方法时,给方法一个默认的实现,我们称之为默认接口方法,这样所有实现该接口的子类都可以持有该方法的默认实现. · 待定 一. ...

  10. C#中一个简单的匹配16进制颜色的正则测试

    using System; using System.Text.RegularExpressions; namespace Test { class Program { //匹配16进制颜色代码的正则 ...