PHP 数组详解
来源:互联网 发布:电线电缆报价软件 编辑:程序博客网 时间:2024/05/20 02:52
PHP 数组
数组能够在单个变量中存储多个值:
实例
<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
数组是什么?
数组是一个能在单个变量中存储多个值的特殊变量。
如果您有一个项目清单(例如:车名字的清单),将其存储到单个变量中,如下所示:
$cars1="Volvo";
$cars2="BMW";
$cars3="Toyota";
$cars2="BMW";
$cars3="Toyota";
然而,如果您想要遍历数组并找出特定的一个呢?如果数组的项不只 3 个而是 300 个呢?
解决办法是创建一个数组!
数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。
在 PHP 中创建数组
在 PHP 中,array() 函数用于创建数组:
array();
在 PHP 中,有三种类型的数组:
- 数值数组 - 带有数字 ID 键的数组
- 关联数组 - 带有指定的键的数组,每个键关联一个值
- 多维数组 - 包含一个或多个数组的数组
PHP 数值数组
这里有两种创建数值数组的方法:
自动分配 ID 键(ID 键总是从 0 开始):
$cars=array("Volvo","BMW","Toyota");
人工分配 ID 键:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";
$cars[1]="BMW";
$cars[2]="Toyota";
下面的实例创建一个名为 $cars 的数值数组,并给数组分配三个元素,然后打印一段包含数组值的文本:
实例
<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
获取数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素的数量):
实例
<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>
遍历数值数组
遍历并打印数值数组中的所有值,您可以使用 for 循环,如下所示:
实例
<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>
//利用 foreach 遍历普通数组
<?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) { echo "$value <br>";}?>
PHP 关联数组
关联数组是使用您分配给数组的指定的键(以前的普通数组的键固定为0,1,2,3,...;而关联数组自己指定键,以下的Peter、Ben、Jon都是键值)的数组。
这里有两种创建关联数组的方法:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
or:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
$age['Ben']="37";
$age['Joe']="43";
随后可以在脚本中使用指定的键:
实例
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
遍历关联数组
遍历并打印关联数组中的所有值,您可以使用 foreach 循环,如下所示:
实例
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value) // foreach 遍历关联数组
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value) // foreach 遍历关联数组
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
注意:
如果我们创建一个数组的时候,没有给某个元素指定下标,php就会自动的用目前最大的那个下标值(整数),加上一作为该元素的下标(关键字)
例:
<?php $arr = array(5=>"logo",567,90);Echo $arr[5]; //输出logoEcho "<br>".$arr[6]; //输出567Echo "<br>".$arr[7]; //输出90?>
<?php $arr = array(5=>"logo",567,90,12.34=>"asd");$arr[true] = "true";$arr[false] = "false";$arr[null] = "null";Echo $arr[5]; //输出logoEcho "<br>".$arr[6]; //输出567Echo "<br>".$arr[7]; //输出90/* 当用true、false、null 为键值时True 可用true 、 1 表示False 可用 false 、 0 表示Null 可用 null 、 "" 表示*/Echo "<br>".$arr[true]; //输出trueEcho "<br>".$arr[1]; //输出trueEcho "<br>".$arr[false]; //输出falseEcho "<br>".$arr[0]; //输出falseEcho "<br>".$arr[null]; //nullEcho "<br>".$arr[""]; //输出nullEcho "<br>".$arr[12.34]."<br/>"; //输出asd,以小数部分表示也可Echo "<br>".$arr[12]."<br/>";
//输出asd,使用小数做key值,将自动截断小数部分,以整数部分表示即可print_r($arr);
//显示数组$arr的详细信息,输出Array ( [5] => logo [6] => 567 [7] => 90 [12] => asd ) ?>
php 数组的几个重要函数:
<?php /* php 数组的几个重要函数:count()返回数组中元素的数目。如:count($arr);is_array() 判断变量是否是数组,若是数组返回1,否则不返回任何东西。如:is_array($arr);print_r() 显示数组详细信息。如:print_r($arr);var_dump() 显示数组详细信息,同时显示数组内每个元素数据类型。如:var_dump($arr);explode("按照什么拆分,在哪里分割",要分割的字符串) 拆分字符串, 把字符串打散为数组。sort()对数值数组进行升序排序。*/$arr = array(5=>"logo",567,90,12.34=>"asd");//$arr = 2;$b = count($arr);echo "<br>".$b;$a = is_array($arr);echo "<br>".$a;print_r($arr);echo "<br>";var_dump($arr);echo "<br>";$str = 'one,two,three,four';$c = explode(',',$str);print_r($c);echo "<br>";sort($arr); //对数组$arr进行升序排序print_r($arr); //重新输出数组$arr?>
<?php /* unset() 删除数组中的某个键,但在销毁后,关键字不会重新组合,保留原来的关键字;在非组中用来释放给定的变量数组运算符: 例子 名称 结果$a + $b 联合 $a 和 $b 的联合。$a == $b相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。$a === $b全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。$a != $b不等 如果 $a 不等于 $b 则为 TRUE。$a <> $b不等 如果 $a 不等于 $b 则为 TRUE。$a !== $b不全等 如果 $a 不全等于 $b 则为 TRUE。*/$arr1 = array(5=>"logo",567,90,12.34=>"asd");print_r($arr1);echo "<br>";unset($arr1[6]);print_r($arr1);echo "<br>";$arr2 = array(5=>"logo1",5617,910,12.34=>"asd1");print_r($arr2);echo "<br>"."联合后:";$arr = $arr1 + $arr2; //+ 运算符把右边的数组元素(除去键值与左边的数组元素相同的那些元素)附加到左边的数组后面,但是重复的键值不会被覆盖。print_r($arr);echo "<br>";?>
1 0
- php数组运算详解
- 详解PHP数组排序
- php 数组使用详解
- php数组详解
- PHP 数组详解
- PHP数组详解
- PHP数组排序详解
- PHP数组详解
- PHP数组函数使用方法详解
- php二维数组排序详解
- PHP数组函数详解大全
- php数组常用方法详解
- PHP的数据类型和数组详解
- 简单快捷PHP数组赋值方法详解
- php中array_merge合并数组详解
- PHP内置数组函数详解(1)
- PHP内置数组函数详解(2)
- 简单快捷PHP数组赋值方法详解
- 动态库cp到开发板上的问题
- android软键盘隐藏总结
- 【Android开发经验】Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神
- 用归纳递归实现插入排序
- JavaScript闭包作用域变量问题
- PHP 数组详解
- 九度OJ 1203 IP地址
- java nio 精华
- 爬山法处理基于颜色的图像分割
- [C++] STL (Algorithm,bitset)
- leetcode--Letter Combinations of a Phone Number
- 黑马程序员——Java学习笔记 String类和基本数据类型对象包装类
- TalkingData Ad Tracking开启反作弊模式
- fgdfgfgsfgsgsfgs