<!-- PHP数组与数据结构 --><?php
// //     $arr = array('欢迎',10 => '学习',
// //         'php',
// //         19 => '语言','相信自己一定能学会'
// //     );// //     $arr = array('刘亦菲',
// //         'anglebaby','鹿晗','范彬彬'
// //     );//     $arr[0] = '北京';
//     $arr[1] = '上海';
//     $arr[2] = '广州';//     $arr = array('0' => '小明',
//         '1' => '小龙',
//         '2' => '小花',
//         '3' => '小兰'
//     );//     $arr = [
//         ['南宁','崇左','凭祥','桂林','百色'],
//         ['龙州','武鸣','宁明','大兴','苹果']
//     ];//     $arr = array(
//         array('南宁','崇左','凭祥','桂林','百色'),
//         array('龙州','武鸣','宁明','大兴','苹果')
//     );//     echo '<pre>';
//     echo count($arr);die;
//     var_dump($arr[2]);
//     echo '</pre>';
?><?php$num = array('南宁','崇左','凭祥','桂林','百色');for ($i = 0;$i < count($num);$i++){echo $num[$i].'<br />';}unset($num[1]);var_dump($num);$name = array('name1' => '芙蓉','name2' => '凤姐');foreach ($name as $key => $value){echo $key.'——————'.$value.'<br />';}$city = array(0 => array('南宁' => 'nanning','百色' => 'baise','凭祥' => 'pingxing'),1 => array('广州' => 'guangzou','深圳' => 'shengzheng','东莞' => 'dongguan'));foreach ($city as $value){foreach ($value as $k => $v){echo $k.'—'.$v.'<br />';}}list($one,$two,$three) = array('张三','李四','王五');echo '$one----'.$one.'<br />';echo '$two----'.$two.'<br />';echo '$three--'.$three.'<br />';$kongjie = ['gao' => '黑丝','lian' => '很白','tui' => '很细','wuguan' => '精致','shengyin' => '甜美',];$date = each($kongjie);echo '<pre>';var_dump($date);echo '<pre>';list($one,$two) = each($kongjie);echo $one.'-'.$two.'<br />';$minggren = array("邓超","黄晓明","泞泽涛","钟汉良");$dc = array_shift($minggren);//删除数组开头第一个单元array_unshift($array, $value1);//数组开头插入一个或多个单元array_push($array, $value1);//将一个或多个单元压入数组末尾array_pop($array);//删除数组末尾单元,并长度减一current($array);//返回数组中的当前单元key($array);//从关联数组中取得键名next($array);//将数组中的内部指针向前(数组的下一个元素)移动一位prev($array);//将数组的内部指针倒回一位(从当前位置指向上一个元素)reset($array);//返回数组中第一个元素位置end($array);//指向数组最后一个元素位置print_r($minggren);//打印出函数结构//php数组常用函数array_combine($keys, $values);//创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值  range($start, $end);//根据范围创建数组,包含指定的元素compact($varname1);//建立一个数组,包括变量名和它们的值array_fill($start_index, $num, $value);//用给定的值填充数组array_chunk($array, $size);//将一个数组分割成多个array_merge($array1);//合并一个或多个数组array_slice($array, $offset, $length, $preserve_keys);//从数组中取出一段array_diff($array1, $array2);//计算数组的差集array_search($needle, $haystack);//在数组中搜索给定的值,如果成功则返回首个相应的键名array_splice($input, $offset ,$length, $replacement);//去掉数组中的某一部分并用其它值取代array_sum($array);//对数组中所有值求和in_array($needle, $haystack);//检查数组中是否存在某个值array_key_exists($key, $array);//检查数组里是否有指定的键名或索引shuffle($array);//打乱数组count($array_or_countable);//数组长度array_flip($array);//交换数组中的键和值array_keys($array);//返回数组中部分的或所有的键名array_values($array);//返回数组中所有的值array_reverse($array);//返回单元顺序相反的数组array_count_values($array);//统计数组中所有的值array_rand($array);//从数组中随机取出一个或多个单元array_unique($array);//移除数组中重复的值sort($array);//对数组排序(从低到高)rsort($array);//对数组逆向排序(从高到低)asort($array);//对数组进行排序并保持索引关系(按字母顺序)arsort($array);//对数组进行逆向排序并保持索引关系ksort($array);//对数组按照键名排序(按字母顺序)krsort($array);//对数组按照键名逆向排序natsort($array);//用"自然排序"算法对数组排序natcasesort($array);//用"自然排序"算法对数组进行不区分大小写字母的排序array_filter($array);//用回调函数过滤数组中的单元extract($array, $flags, $prefix);//从数组中将变量导入到当前的符号表?>
<!-- 数组练习题 --><?php
// 1.将数组的键名全部转换成小写和大写的函数是什么?
// 答:array_change_key_case($array [,CASE_LOWER|CASE_UPPER])// 2.创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值的函数是什么?
// 答:array array_combine ( array $keys , array $values )// 3.统计数组中所有的值出现的次数的函数是什么?
// 答:array array_count_values ( array $input )// 4.返回数组中部分的或所有的键名的函数是什么?
// 答:array array_key($array [,$search_value [,true|false]])// 5.将回调函数作用到给定数组的单元上的函数是什么?
// 答:array array_map ( callable $callback , array $arr1 [, array $... ] )// 6.合并一个或多个数组的函数是什么?
// 答:array array_merge ( array $array1 [, array $... ] )// 7.将数组最后一个元素弹出的函数是什么?
// 答:mixed array_pop ( array &$array )// 8.将一个或多个单元压入数组的末尾(入栈)的函数是什么?
// 答:int array_push ( array &$array , mixed $var [, mixed $... ] )// 9.从数组中随机取出一个或多个单元的函数是什么?
// 答:mixed array_rand ( array $input [, int $num_req = 1 ] )// 10.返回一个单元顺序相反的数组的函数是什么?
// 答:array array_reverse ( array $array [, bool $preserve_keys = false ] )// 11.在数组中搜索给定的值,如果成功则返回相应的键名的函数是什么?
// 答:array_search ( mixed $needle , array $haystack [,$strict = false ] )// 12.将数组开头的单元移出数组的函数是什么?
// 答:mixed array_shift ( array &$array )// 13.移除数组中重复的值的函数是什么?
// 答:array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )// 14.在数组开头插入一个或多个单元的函数是什么?
// 答:int array_unshift ( array &$array , mixed $var [, mixed $... ] )// 15.返回数组中所有的值的函数是什么?
// 答:array array_values ( array $input )// 16.对数组进行逆向排序并保持索引关系的函数是什么?
// 答:bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )// 17.对数组进行正向排序并保持索引关系的函数是射门?
// 答:bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )// 18.返回数组中当前的键/值对并将数组指针向前移动一步的函数是什么?
// 答:array each ( array &$array ),例如:while(list($key,$value)=each($array)){}// 19.对数组按照键名逆向排序的函数是什么?
// 答:bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )// 20.对数组按照键名正向排序的函数是什么?
// 答:bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )// 21. 对数组逆向排序的函数是什么?
// 答:bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )// 22.对数组正向排序的函数是什么?
// 答:bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )// 23.将数组打乱的函数是什么?
// 答:bool shuffle ( array &$array )// 24.count() 的别名函数是什么?
// 答:sizeof()// 25.将变量转换成数组的函数是什么?
// 答:compact();例如:$user='zong';$pwd=123;compact('user','pwd')结果为array('user'=>'zong','pwd'=>123)//26.写函数创建长度为10的数组,数组中的元素为递增的奇数,首项为1function arrsort($first,$length){$arr = array();for ($i=0;$i<=$length;$i++){$arr[] = $i*2-1;}return $arr;}$arr1 = arrsort(1, 10);var_dump($arr1);
//27.创建长度为10的数组,数组中的数为递增的等比数,比值为3,首项为1function arrsort1($first,$length,$num){for ($i=$first;$i<=$length;$i++){$arr[] = $num*pow($num, $i-2);}return $arr;}$arr1 = arrsort1(1, 10,3);var_dump($arr1);//28.求数组中最大数的下标function maxkey($arr){$maxval = max($arr);foreach ($arr as $key=>$val){if ($maxval == $val){$maxkey = $key;}}return $maxkey;}$arr = array(0,-1,-2,5,"b"=>15,3);echo maxkey($arr);
//29.创建一个长度为10的数组,数组中的元素满足斐波那契数列的规律function arrFibo($len){$arr[0] = 0;$arr[1] = 1;for ($i=2;$i<$len;$i++){$arr[$i] = $arr[$i-1]+$arr[$i-2];}return $arr;}echo "<pre>";print_r(arrFibo(10));echo "</pre>";
//30.计算数组中最大数和最小数的差
//     max/minfunction arrsub($arr){sort($arr);$min = $arr[0];rsort($arr);$max = $arr[0];$sub = $max - $min;return $sub;}$arr = array(-1,-2,100);echo arrsub($arr);
//31.写一个方法,将一个长度超过10的数组最后5项直接截取,不改变顺序变为前5项,
//如{1,2,3,4,5,6,7,8,9,10}变为{6,7,8,9,10,1,2,3,4,5}.function arrsort2($arr){$num = count($arr);if ($num > 10) {$arr_firstpart = array_slice($arr, 0,$num-5,true);$arr_lastpart = array_slice($arr, ($num-5),5,true);}else {echo "数组不超过10个元素,请重新输入";exit;}$arr_new = array_merge($arr_firstpart,$arr_lastpart);return $arr_new;}$arr = array("a" => 1,2,3,8,9,6,"b"=>5,-1,"c"=>8,0,7);echo "<pre>";print_r($arr);echo "<br>= = = = = 拼接后 = = = =<br><br>";print_r(arrsort2($arr));echo "</pre>";
//32.将两个数组连接成一个新数组$arr = array("a"=>1,"b"=>2,3);$arr2 = array("a"=>Dee,3,5);$arr3 = array_merge($arr,$arr2);$arr4 = array_merge_recursive($arr,$arr2);echo "<pre>";print_r($arr3);echo "<br>= = = = =<br><br>";print_r($arr4);echo "</pre>";
//32.1第一个输出的数组中索引为"a"的值1被第二个数组中索引为"a"的值Dee覆盖了function arrsort3($arr1,$arr2){$arr_new = $arr1;foreach ($arr2 as $key=>$val){$arr_new[] = $val;}return $arr_new;}$arr1 = array("a"=>1,"b"=>2,3);$arr2 = array("a"=>Dee,"c"=>3,5);echo "<pre>";print_r(arrsort3($arr1,$arr2));echo "</pre>";
//33.数组的逆序(不能使用rsort函数,不能生成新数组)$arr = array("a","b","c",1,10);$i="";$j="";$k="";$len = count($arr);$half_len = floor($len/2);for ($i=0;$i<$half_len;$i++){$j=$arr[$i];if ($len%2!=0) {$k = $half_len*2-$i;}else {$k = $half_len*2-$i-1;}$arr[$i]=$arr[$k];$arr[$k]=$j;}echo "<pre>";print_r($arr);echo "</pre>";
?>

php基础一(数组)相关推荐

  1. c++把数组所有元素剔除_C语言基础之数组,第一节,C语言必学知识点剖析

    本文约1600字,主要讲了C语言基础之数组.数组又可分为数值数组.字符数组.指针数组.结构数组等各种类别.本文主要讲了数组的基础概念,一维数组的定义和引用. 带你进入C语言的世界,入门C语言,后边将持 ...

  2. C语言基础:数组作为函数参数传递演示源码

    将做工程过程中常用的内容片段记录起来,如下内容内容是关于C语言基础:数组作为函数参数传递演示的内容,应该能对小伙伴也有好处. #include <stdio.h>void show_arr ...

  3. 【Python】Numpy基础:数组和矢量运算

    Numpy基础:数组和矢量运算 目录: 文章目录 一 Numpy及其重要性 二 ndarray:一种多维数组对象 1 创建ndarray 2 ndarray的数据类型 3 数组和标量之间的运算 4 基 ...

  4. python输入数组并计算_利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  5. java返回特定下标元素_java基础--输出数组中指定元素的下标

    java基础--输出数组中指定元素的下标 java基础--输出数组中指定元素的下标 package com.lcn.day05; public class ArrayDemo8 { /** * 输出数 ...

  6. 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

    第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说,用numpy的主要目的在于应用矢量化运算.Numpy并没有多么高级的数据分析功能,理解Numpy ...

  7. C语言基础专题 - 数组(编辑中)

    C语言基础专题 - 数组 本文介绍了C语言中数组地相关知识 阅读本文前推荐阅读:C语言数据类型 阅读本文后推荐阅读:C语言结构体 阅读本文后推荐阅读:C语言字符串 其它推荐阅读:python序列 1.

  8. python数组计算cos_NumPy 基础:数组和矢量计算

    NumPy 基础:数组和矢量计算 NumPy 的 ndarray : 一种多维数组对象 import numpy as np data = np.array() data.shape #对象的结构,如 ...

  9. Java 基础 利用数组来实现银行注册开户、存钱、取钱

    Java 基础 利用数组来实现银行注册开户.存钱.取钱 1.主界面 放置于BankSystem类中 思路: (1)用输入语句完成主界面的编写 (2)用Scanner实现键盘录入数据 (3)用switc ...

  10. python 数据分析5 NumPy 基础:数组和矢量计算

    系列文章:Python 数据分析 文章目录 五.NumPy 基础:数组和矢量计算 1.n维数组对象 ndarray 创建 dtype 数组运算 基本的索引和切片 一维数组 二维数组 布尔型索引 花式索 ...

最新文章

  1. 基于AVR和MT8870的远程家电控制系统设计
  2. Python字节到大整数的打包与解包
  3. TCPIP / MTU 和 MSS 的区别和联系
  4. Google Map API v2 步步为营 (二)----- Location
  5. tp5类的属性不存在_thinkPHP5.1框架中Request类四种调用方式示例
  6. 反解析Navicat ncx加密后的密码(并导入到dbeaver)
  7. chrome插件推荐
  8. 如何编写正确且高效的 OpenResty 应用
  9. 西瓜书重温(七): 贝叶斯分类器(手推+代码demo)
  10. 关于word的格式规范
  11. 恢复grub 修复分区表
  12. 无人超市的核心不在于代替人,而是一款赚钱的互联网产品,是互联网伸向现实世界的
  13. 世界杯winner只属于你——MESSI
  14. 高端装备的AC主轴头结构
  15. Python读取docx表格中的合并单元格信息
  16. MYSQL互为主从部署(Censo:6)
  17. QPushButton去掉虚线框(焦点框)
  18. 「文献」杂合基因组的策略思路
  19. 机器学习期中考复习(md全是证明题)
  20. Xms Xmx PermSize MaxPermSize的含义

热门文章

  1. 1个钟是多久_一个番茄钟要多长时间
  2. 基于SpringBoot的大学生租房系统
  3. 电脑通过豌豆荚连接手机或者平板不成功,豌豆荚版本6.8.*
  4. 经典管理学书籍推荐:《经理人参阅:企业管理实务》
  5. 在苏州软件园培训的那俩月,我找到了生的希望
  6. iframe中的onload事件深藏功与名
  7. Dubbo的使用和原理
  8. mysql-查询日期在一个时间段的两种方法
  9. python日期比较_python 时间比较方法总结
  10. 酷派CIO潘文彦:酷派互联网+转型实践