<!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. 缺陷管理系统mantisbt环境搭建

    mantisbt 搭载在lamp环境下 <VirtualHost *:8000> DocumentRoot "/data/mantisbt" </VirtualH ...

  2. .net中ckeditor的应用

    ①js文件的引入 <script src="/public/ckeditor_4.4.7/ckeditor.js"></script> <script ...

  3. UVa 437 The Tower of Babylon(经典动态规划)

    传送门 Description Perhaps you have heard of the legend of the Tower of Babylon. Nowadays many details ...

  4. [JavaEE] NIO与IO的区别

    nio是new io的简称,从jdk1.4就被引入了.现在的jdk已经到了1.6了,可以说不是什么新东西了.但其中的一些思想值得我来研究.这两天,我研究了下其中的套接字部分,有一些心得,在此分享. 首 ...

  5. vs 2012 + OPenCV 2.4.8 配置

    一:安装Opencv 下载opencv-2.4.8.exe,然后安装在目录D:\opencv-2.4.8. 二:配置vs 2012 1.打开vs创建项目 2.下一步,选择dll ,空项目,然后完成.后 ...

  6. java server

    A easy ajax for java: http://directwebremoting.org/dwr/index.html

  7. JS获取select选中的值,所有option值

    <select name="myselect" id="myselect"> <option value="2042"&g ...

  8. JQuery遍历方法$.each输出函数

    each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组.多维数组.DOM, JSON 等等在javaScript开发过程中使用$ ...

  9. c#找不到类型或命名空间名称“Word”

    c#找不到类型或命名空间名称“Word” 2012-10-10 11:17:33|  分类: VC#技术|举报|字号 订阅     using Word = Microsoft.Office.Inte ...

  10. SMTP邮箱验证错误解决

    开始报错,是因为权限设置问题,谷歌对第三方应用登录默认关闭,需要开通后python才能自动访问邮件 SMTPAuthenticationError: (502, b'5.5.1 Unrecognize ...