<!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/>";//5
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>