<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="Basedemo/DemoPage.css">
</head> <body>
<div id="main">
<div id="wrapper">
<h3>第一种数组创建方式:</h3>
<div id="content">
<?php
/*
array数组是一系列的键值对的集合,值可以是任何类型
*/
//分开赋值创建数组:
$arr1[0]=123;
$arr1[1]="word";
$arr1[2]=2.333;
$arr1[3]=true;
$arr1[4]=null; $len1= count($arr1);
echo '$arr的长度: '.$len1."<br/>";// echo 'for循环数组中的值: <br/>';
for ($i=0; $i < $len1; $i++) {
echo $arr1[$i].'<br/>';
} ?>
</div> <h3>第二种数组创建方式:</h3>
<div id="content">
<?php
$arr2=array (2,5,6,8,"face",false);
echo 'for循环数组中的值: <br/>';
for ($i=0; $i < count($arr2); $i++) {
echo $arr2[$i].'<br/>';
} ?>
</div> <h3>第三种数组创建方式:</h3>
<div id="content">
<?php $arr3=array ('bian'=>'编','cheng'=>'程','shi'=>'世','jie'=>'界');
echo $arr3['bian'].$arr3['cheng'].$arr3['shi'].$arr3['jie']; echo '<br/><p>foreach遍历循环数组中的值: </p>';
//PHP4.0引入的函数,适用范围更广($key和$val 是自定义变量)
foreach ($arr3 as $key=>$val) {
echo $key."=".$val."<br/>";
} ?>
</div> <h3>数组的细节(键):</h3>
<div id="content">
<?php
//没有指定下标或索引时,会找到此元素的前一个元素的索引加1
//
$arr4 = array(3=>"bad",25,33,"c"=>"cc");
$arr4[5]="被修改了";//如果数组中索引对应元素已经存在,重新赋值会覆盖原来的值
foreach ($arr4 as $key => $value) {
echo $key."=".$value."<br/>";
}
//输出结果:
// 3=bad
// 4=25
// 5=被修改了
// c=cc //当以true和false来做键名时,取值时,true的键为1,false的键为0
//当以null为键名时,取值时,可以""或null为键来取值
//当以小数来做为键时,取值时,将自动截断小数位,但以小数或整数为键都能取到值
$arr5[true]="值为true";
$arr5[false]="值为false";
$arr5[null]="值为null";
$arr5[12.33]="12.33"; echo $arr5[1]."<br/>";
echo $arr5[0]."<br/>";
echo $arr5[""]."<br/>";
echo $arr5[null]."<br/>";
echo $arr5[12.33]."<br/>";
echo $arr5[12]."<br/>"; //输出
//值为true
// 值为false
// 值为null
// 值为null
// 12.33
// 12.33 //print_r 显示数组信息:
echo "<p>print_r()显示数组信息:</p>";
print_r($arr5); echo "<p>var_dump()显示数组详细信息:</p><br/>";
var_dump($arr5); //注意:不能以数组或对象做为键,否则导致警告:lllegal offset type //以字符为键时,取值时的键也要为字符,且都要有引号(否则会当作常量)
//const tt=8;//加这句不报错,不加报错:Notice: Use of undefined constant tt - assumed 'tt'
$arrx[tt]=123;
echo $arrx[tt];
?>
</div> <h3>索引超过界线 和 数组的动态增长:</h3>
<div id="content">
<?php
//当取不存在的索引处的值时,会报错:Notice: Undefined offset
$arr6 = array(1,5,8);
echo $arr6[3]; //PHP中与其它语言不同的是:数组可以动态增长,可以动态添加新的键值对
$arr6[4]="新增加的值";
foreach ($arr6 as $key => $value) {
echo $key."=".$value."<br/>";
}
//输出:
// 1=5
// 2=8
// 4=新增加的值
?>
</div> <h3>数组的常用函数</h3>
<div id="content">
<?php
$arr7 = array(1,8,9,2,3,5,88,91,25); $a="555"; //获取数组的长度
echo count($arr7)."<br/>"; //9 //判定一个变量是否为一个数组
//如果为true,返回1,如果为false,返回""
echo is_array($a)."<br/>"; //""
echo is_array($arr7)."<br/>"; //1 //以任意字符分割字符串 explode
// $strCity="北京 上海 广州 武汉";
// $arr8 = explode(" ",$strCity); $strCity="北京#上海#广州#武汉";
$arr8 = explode("#",$strCity);
print_r($arr8);
echo "<br/>";
//Array ( [0] => 北京 [1] => 上海 [2] => 广州 [3] => 武汉 ) //unset()函数:销毁一个或多个元素、变量
$arr9 = array(1,2,3,4,5,6,7);
//删除元素5,索引不会重建
unset($arr9[4]);
unset($arr9[1],$arr9[2]);
print_r($arr9);//Array ( [0] => 1 [3] => 4 [5] => 6 [6] => 7 ) //数组运算符:
//数组联合:$arr1+$arr2 //
//是否相等:$arr1==$arr2 //全等于 ===//不等 !=//不全等 !===;
$arr10 = array('a'=>'one','b'=>'two');
$arr11 = array('a'=>'three','b'=>'foure','c'=>'five');
echo "<br/>";
print_r($arr10+$arr11);// Array ( [a] => one [b] => two [c] => five )
echo "<br/>";
print_r($arr11+$arr10);// Array ( [a] => three [b] => foure [c] => five )
echo "<br/>";
?>
</div> </div>
</div>
<div id="footer"><div class="tri"></div><h1>PHP基础 之 数组 创建遍历查找</h1></div>
</body>
</html>

PHP基础 之 数组(一)的更多相关文章

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

    http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...

  2. [.net 面向对象编程基础] (17) 数组与集合

    [.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总 ...

  3. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  4. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  5. OC基础 可变数组与不可变数组的使用

    OC基础 可变数组与不可变数组的使用 1.不可变数组 1.1不可变数组的创建 //实例方法 NSArray *array = [[NSArray alloc] initWithObjects:&quo ...

  6. 利用Python进行数据分析——Numpy基础:数组和矢量计算

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

  7. Go语言基础之数组

    Go语言基础之数组 本文主要介绍数组(array)及它的基本使用. Array(数组) 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化 ...

  8. 第二十四节:Java语言基础-讲解数组的综合应用

    数组的综合应用 // 打印数组 public static void printArray(int[] arr) { for(int x=0;x<arr.length;x++) { if(x!= ...

  9. GoLang基础数据类型--->数组(array)详解

    GoLang基础数据类型--->数组(array)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Golang数组简介 数组是Go语言编程中最常用的数据结构之一.顾名 ...

随机推荐

  1. 用Python写了个抓图小脚本

    看上这个网页上一张图了,可惜他没有提供右键另存为,看了下网页代码,是可以找到图片原始链接的!但是因为没法和现实的图片一一对应,图又多,所以找起来还是麻烦...然后,我就想用 Python 把他们全部拉 ...

  2. Java命名约定

    类名 类名应该是名词, 描述对象.应该按照驼峰式写法,即只有每个单词首字母大写. 接口名称 接口名称应该是形容词,描述功能.应该以“able”.“ible”结尾,否则应该是名词.通常遵循和类名写相同的 ...

  3. codevs 1051 接龙游戏(栈模拟)

    传送门 Description 给出了N个单词,已经按长度排好了序.如果某单词i是某单词j的前缀,i->j算一次接龙(两个相同的单词不能算接龙). 你的任务是:对于输入的单词,找出最长的龙. I ...

  4. Saltstack之SSH(十一)

    Saltstack之SSH 安装 yum install -y salt-ssh 官方文档  https://docs.saltstack.com/en/latest/topics/ssh/index ...

  5. 使用BPEL创建Web服务组合

    http://www.cnblogs.com/ahhuiyang/archive/2012/12/18/2824131.html 为简单起见,本例的Web服务组合只调用一个Web Service AP ...

  6. Apache Nutch v2.3 发布,Java实现的网络爬虫

    http://www.oschina.net/news/59287/apache-nutch-2-3 Apache Nutch v2.3已经发布了,建议所有使用2.X系列的用户和开发人员升级到这个版本 ...

  7. WinForm------GridControl显示每行的Indicator中的行号

    1.修改Indicator的行宽 2.添加CustomDrawRowIndicator事件 private void AdminCardView_CustomDrawRowIndicator(obje ...

  8. 基本药目录sop

    http://db.yaozh.com/basicdir 基本药物 编辑 "基本药物"的概念, 由世界卫生组织于1977年提出,指的是能够满足基本医疗卫生需求,剂型适宜.保证供应. ...

  9. 安装ubuntu和安装ubuntu后要安装的软件列表

    安装ubuntu 老毛桃进入win pe修复启动项 在win pe下面制作ubuntu的安装盘,只用的软件是ultraISO 参考博客下面的分区的那篇文章  http://jingyan.baidu. ...

  10. DX9资源管理

    http://www.cnblogs.com/cxrs/archive/2013/04/03/D3DResourceManager.html http://kasicass.blog.163.com/ ...