<!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. Ninject.MVC 知识点记录

    Ninject 是跟Unity 差不多的DI容器.Ninject 推荐零配置,快速使用.小中型项目,最适合. 通过nuget,安装Ninject.MVC.略.参考博客:Ninject依赖注入      ...

  2. Java多线程问题总结

    前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...

  3. 画虚线 iOS

    整理了一个方法,可以直接绘制虚线,下面直接上代码.参数说明已经给出,可直接copy使用 /** ** lineView: 需要绘制成虚线的view ** lineLength: 虚线的宽度 ** li ...

  4. PL/0编译器(java version) – SymbolTable.java

    1: package compiler; 2: //竟然没有对符号表检查大小,会溢出的. 3:   4: import java.io.IOException; 5:   6: public clas ...

  5. 和redis谈一场恋爱(第一天邂逅)

    前几天玩了下Memcache,发现挺好用.知道redis是Memcache的妹妹.我本着大公无私和博大的胸怀,看着redis孤零零的躺在角落里,委实觉得可怜.心里总有个声音在说,你既然已经爱上了Mem ...

  6. django rest framework 入门

    django rest framework 入门1-序列化 Serialization 分类: Python 2013-01-22 22:24 11528人阅读 评论(0) 收藏 举报 djangop ...

  7. Yocto开发笔记之《串口驱动调试》(QQ交流群:519230208)

    QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== 串口驱动各 ...

  8. 关于Linux的内存(free -m)

    查看Linux服务器下的内存使用情况,可以使用命令free -m.注意此命令只在Linux下有效,在FreeBSD中没有此命令.命令如下所示: used:已经使用的内存数 free:空闲的内存数 sh ...

  9. emacs最简单入门,只要10分钟

    macs最简单入门,只要10分钟  windwiny @2013    无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...

  10. QT 初阶 1.3 节 控件的几何排列

    #include "mainwindow.h" #include <QApplication> #include <QHBoxLayout> #includ ...