PHP学习笔记九【数组二】
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<meta charset="utf-8" /> <!--指定页面编码方式---> <?php
$arr[0]=1;
$arr[1]="hello world";
$arr[2]=true;
$arr[3]=45.45;
//php 数组的值可以是任意类型的
for( $i=0;$i<count($arr);$i++)
{
echo "<br/>".$arr[$i]; } //数组的第二种方式
echo '<br/>创建数组的第二种方式';
$arr1=array(1,"hello world",23.4,false);
for($j=0;$j<count($arr1);$j++)
{
echo "<br>".$arr1[$j];
} //数组的第三种方式可以指定key,默认情况下key是0
$arr2["test1"]="hello";
$arr2["test2"]="world";
$arr2["num"]="34";
for($z=0;$z<count($arr2);$z++)
{
echo "<br/>".$arr2[$z]; //自己指定key的时候无法使用这种方式遍历,只能用foreach便利
}
echo "<br/>无法使用for进行遍历,只能使用foreach";
//foreach 使用范文更广泛
foreach($arr2 as $val)
{
echo "<br/>".$val;
} echo "<br/>"."输出key";
foreach($arr2 as $key=>$val)
{
echo "<br/>".$key."=".$val."<br/>";
} //*********************
$arr3[true]="hello "; //如果用true作为key那么要用1来访问 $arr3[1]
$arr3[false]="world"; //如果用false作为key 那么用0来访问 $arr3[0]
$arr3[null]="北京"; //如果用null作为key 可以用null和“”来访问$arr3[null] 或者 $arr3[""];
echo "<br/>访问true,false,null 为key的数组";
echo $arr3[null];
echo $arr3[""];
//*********************
$arr4[123.4]="hello world";
echo "<br/>".$arr4[123.4];
echo "<br/>".$arr4[123];
echo "<br/>";
print_r($arr4); //print_r输出数组信息
echo "<br/>";
var_dump($arr4);// var_dump可以更加详细的输出数组信息
//*********************
echo "<br/>PHP的数组是可以动态增长的";
$arr5=array(2,3);
$arr5[2]="hello world";
$arr5[5]="beijing"; //这样数组不会报错,只是3,4没有用到而已,但是不能通过$arr5[3]去访问
foreach($arr5 as $val)
{
echo "<br/>".$val;
}
//********************判断是否是一个数组
echo "<br/>";
$arr6=array(23,56);
$b=4;
echo is_array($arr6);
echo "<br/>".is_array($b); //********************拆分字符串explode返回数组
$str="北京&顺平&天津&宋江";
$arr7=explode("&",$str);
echo "<br/>".var_dump($arr7)."元素有".count($arr7); //例子
echo "<br/>";
$colors=array("red","blue","green","yellow");
for($i=0;$i<count($colors);$i++)
{
echo "<br/>".$colors[$i];
}
//用while遍历
$i=0;//循环控制变量
while($i<count($colors))
{
echo "<br/>".$colors[$i];
$i++;
} //do while
$i=0;
do{
echo "<br/>".$colors[$i];
$i++;
}while($i<count($colors)); //foreach 遍历
foreach($colors as $key=>$val)
{
echo "<br>".$key."=".$val;
}
//**********unset释放一个变量,使用了该方法表示把元素彻底删除 $arr8[0]=123;
$arr8[1]=345;
$arr8[2]="hello world";
unset($arr8[1]);
foreach($arr8 as $val)
{
echo "<br/>".$val;
} //如果我们创建一个数组的时候,没有给某个元素指定下标,
//那么php就会以当前最大的那个下标值加1作为该元素的下标
echo "<br/>";
$arr=array(5=>"logo",567,90);
$arr[5]="yes";//修改数组元素的值,可以直接通过索引来修改
echo $arr[5];
echo "<br/>".$arr[6];
echo "<br/>".$arr[7]; //数组陷阱
$arr[bar]="hello world"; //不加引号就相当于bar是个常量,这样用可能会出现致命错误
echo "<br/>".$arr[bar];
//数组运算符+表示联合两个元素(会把右边的相同的键去除)
$a=array("a"=>"apple","b"=>"bannana");
$b=array("a"=>"pear","b"=>"strawberry","c"=>"cherry");
$c=$a+$b;
echo "\$a+\$b result <br/>"; var_dump($c);
$c=$b+$a;
echo "\$b+\$a result <br/>"; var_dump($c);
?>
</html>
PHP学习笔记九【数组二】的更多相关文章
- JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
- java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...
- PHP学习笔记之数组篇
摘要:其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合.... 转载请注明来源:PHP学习笔记之数组篇 一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我 ...
- 多线程学习笔记九之ThreadLocal
目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...
- React Native 学习笔记--进阶(二)--动画
React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...
- 【Unity Shaders】学习笔记——SurfaceShader(二)两个结构体和CG类型
[Unity Shaders]学习笔记——SurfaceShader(二)两个结构体和CG类型 转载请注明出处:http://www.cnblogs.com/-867259206/p/5596698. ...
- Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)
Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)
- Linux进程间通信IPC学习笔记之同步二(Posix 信号量)
Linux进程间通信IPC学习笔记之同步二(Posix 信号量)
- VSTO 学习笔记(十二)自定义公式与Ribbon
原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...
- MDX导航结构层次:《Microsoft SQL Server 2008 MDX Step by Step》学习笔记九
<Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次 SQL Server 2008中SQL应用系列及BI笔记系列--目录索 ...
随机推荐
- 玩转Nodejs日志管理log4js(转)
转自:http://blog.fens.me/nodejs-log4js/ 前言 日志对任何的应用来说都是至关重要的.在Nodejs中使用express框架并没有自带的日志模块,我们可以选择log4j ...
- 一个Demo就懂的Angular之directive
<body> <div ng-controller="myCtrl"> <hello-word></hello-word> < ...
- MongoDB学习笔记04
创建索引使用ensureIndex方法,对于同一个集合,同样的索引只需要创建一次,反复创建是徒劳的. 对某个键的索引会加速对该键的查询,然而,对于其它查询可能没有帮助,即便是查询中包含了被索引的键.实 ...
- JavaScript中String对象的match()、replace() 配合正则表达式使用
正则表达式由来已久,查找替换功能非常强大,但模板难记复杂. JavaScript中String对象的match().replace()这2个方法都要使用正则表达式的模板.当模板内容与字符串不相匹配时, ...
- 通过XSLT转换XML
Hello,every body.又与大家见面了,哈哈.今天我与大家分享一下XSLT,XSL,XML,XPath.因为项目中有些功能用到了XSLT.XML等技术.所以今天好好研究了一下这几个方面的技术 ...
- OpenCV——视频颜色识别
#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace c ...
- (原)Windows下编译指纹识别的Rel_4.1.0库
网址:http://www.cnblogs.com/darkknightzh/p/4867372.html.未经允许,严禁转载. 没怎么用过linux,对于MSYS和MinGW也基本没用过,因而编译R ...
- easyui datagrid detailview嵌套datagrid的问题
解决问题办法来自 http://www.coding123.net/article/20141113/easyui-datagrid-datailview-use-sub-datagrid-not-a ...
- navicat导入mysql数据库sql时报错
今天运维的一个项目需要进入数据库修改下数据,MYSQL的数据库,我先导出了一份数据结构和数据,然后进行修改,改完后发现项目报错了...粗心大意哪改错了,赶紧恢复数据库,结果导入SQL时报错了,当时心凉 ...
- java读取xml(当xml放在包里时)