拷贝传值:字符型、整型、浮点型、NULL、数组。
引用传值:对象、资源。
一、数组分类:
(1)枚举数组
数组的下标是从0开始的正整数,这样数组称为“枚举数组”。
$arr = array(10,20,30,40);
$arr[0] = 10;
$arr[1] = 20;
(2)关联数组
数组的下标是字符串,这样的数组称为“关联数组”。
$arr = array("name"=>"张三","age"=>24,"sex"=>"男");
(3)混合数组
所谓“混合数组”就是数组的下标既整型,也有字符串。下标只能是整数或字符串。
二、数组的创建:
1、$arr = array(10,20,30,40);
2、$arr[0] = 10; //如果arr数组不存在,则创建,否则赋值。
$arr[1] = 20;
$arr[] = 20; //未指定下标,默认从最大的下标后开始赋值。
$arr["name"] = "张三";
3、$arr = array("name"=>"张三","age"=>24,"sex"=>"男"); //通过 => 来指定下标
4、$arr = array(20=>"张三",2=>24,"男","已婚"); //未指定下标的,默认从最大的下标后开始赋值。
引用传值:对象、资源。
一、数组分类:
(1)枚举数组
数组的下标是从0开始的正整数,这样数组称为“枚举数组”。
$arr = array(10,20,30,40);
$arr[0] = 10;
$arr[1] = 20;
(2)关联数组
数组的下标是字符串,这样的数组称为“关联数组”。
$arr = array("name"=>"张三","age"=>24,"sex"=>"男");
(3)混合数组
所谓“混合数组”就是数组的下标既整型,也有字符串。下标只能是整数或字符串。
二、数组的创建:
1、$arr = array(10,20,30,40);
2、$arr[0] = 10; //如果arr数组不存在,则创建,否则赋值。
$arr[1] = 20;
$arr[] = 20; //未指定下标,默认从最大的下标后开始赋值。
$arr["name"] = "张三";
3、$arr = array("name"=>"张三","age"=>24,"sex"=>"男"); //通过 => 来指定下标
4、$arr = array(20=>"张三",2=>24,"男","已婚"); //未指定下标的,默认从最大的下标后开始赋值。
数组通过传递地址,来改变数组的值:
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<?php
//实例:在函数中,给数组添加一个元素
$arr = array("周更生","男",24);
$school = "北京理工大学";
function addElement(&$arr2,$school2) //通过传递数组的地址来改变数组的值。否则数组是拷贝传值,并不会修改原数组的值(&$arr),前面加&表示地址。
{
$arr2[] = $school2;
}
//调用函数
addElement($arr,$school);
//输出结果
var_dump($arr);
?>
数组的创建:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META name="Generator" content="EditPlus">
<META name="Author" content="">
<META name="Keywords" content="">
<META name="Description" content="">
<style type="text/css">
</style>
<script type="text/javascript">
</script>
</HEAD>
<BODY>
<?php
$arr1=array("张三","18",24,);
$arr2[0] = 10; //如果arr数组不存在,则创建,否则赋值。
$arr2[1] = 20;
$arr2[] = 30; //未指定下标,默认从最大的下标后开始赋值。
$arr2["name"] = "张三";
$arr3 = array("name"=>"张三","age"=>24,"sex"=>"男"); //通过 => 来指定下标
$arr4 = array(20=>"张三",2=>24,"男","已婚"); //未指定下标的,默认从最大的下标后开始赋值。
echo "<pre>";
print_r($arr1);
print_r($arr2);
print_r($arr3);
print_r($arr4);
echo "</pre>";
?>
</BODY>
</HTML>
数组实例:
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<?php
function dump($arr)
{
echo "<pre>";
print_r($arr);
echo "<pre>";
}
//*******************************************************
//实例:使用数组保存个人信息
$arr = array("周更生","男",24,true,"大专","北京科技大学");
$str = "<h2>{$arr[0]}的基本信息如下</h2>"; //字符串中可以读取一维数组的值,但不能运算,不能读取二维数组的值。
$str .= "姓名:$arr[0]";
$str .= "<br>性别:$arr[1]";
$str .= "<br>年龄:$arr[2]";
$str .= "<br>婚否:".($arr[3] ? "已婚" : "未婚"); //括号是为了与前面的字符串分割。
$str .= "<br>学历:$arr[4]";
$str .= "<br>毕业院校:".($arr[5] ? $arr[5] : "未填写");
echo $str;
?>
多维数组:
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<?php
function dump($arr)
{
echo "<pre>";
print_r($arr);
echo "<pre>";
}
//*******************************************************
//(2)使用[],来创建多维数组
$arr["name"] = "周更生";
$arr["sex"] = "男";
$arr["contact"]["tel"] = "010-12345678";
$arr["contact"]["mobile"] = "130110120119";
$arr["contact"]["qq"] = "88888888";
echo "座机号:".$arr['contact']['tel'];
dump($arr);
?>