Home  >  Article  >  Backend Development  >  PHP数组学习

PHP数组学习

WBOY
WBOYOriginal
2016-06-23 14:30:30813browse

什么是数组?
可以用来存放多个数据的数据类型,我们成为数组。
在php中,数组就是关键字和值的集合,我们可以这样创建
①创建数组
第一种方式:
$arr[0]=123;
[0]称为下标,或者称为关键字
$arr[0]称为数组的一个元素
$arr[0]=123中123表示$arr[0]元素对应的值
$arr是这个数组的名称
在php中,元素存放的值可以使任意的数据类型数据
第二种方式:
基本语法
直接赋值
$数组名=array(值,......);
举例说明:
$arr=array(1,90,"hello",89.5);
第三种方式:在默认情况下,我们的下标是从0开始编号的,但是实际上,也可以自己指定。
基本语法
$arr["logo"]="北京";
$arr["hsp"]=123;
... ...
或者
$arr=array("logo"=>"北京","hsp"=>123,4=>678);

*********************************
$arr=array(1,90,"hello",89.5);
①如果我们创建一个数组的时候,如果没有给某个元素指定下标,php就会自动的用目前最大的那个下标值(整数),加上一作为该元素的下标(关键字)
②如果我们给某个元素的下标一样,则会覆盖原来的值(替换)
使用TRUE作为键名将使integer1成为键名。使用FALSE作为键名将使integer0成为键名。
使用NULL作为键名将等同于使用空字符串。使用空字符串作为键名将新建(或覆盖)一个用空字符串作为键名的值,这和用空的方括号不一样。
使用小数作为key将自动截断小数部分:
$a=arr("abc"=>123,"hhh"=>456,12.6=>"hello");
print_r($a);//显示信息为:
Array([abc]=>123[hhh]=>456[12]=>hell3o)不能用数组和对象作为键(key)。这样会导致一个警告:Illegal offset type.
③如果我们使用true,false,null作为key,访问方式:
$arr[true]="hello";
$arr[false]="world";
$arr[null]="北京";
echo $arr[0];
echo "
".$arr[1];
echo "
".$arr[null];
echo "
".$arr[""];
?>
④方法数组的时候,不要越界。比如:
 $arr=array(56,100,101);
 echo $arr[3];
************************
$a=arr(2,3);
$a[2]=56;
echo $a[2];//打印的结果是56
?>
说明:PHP数组是可以动态增长的。
$数组名[键值]
如果你写的键值不存在,则会报告:Notice:Undefined offset
************************
一维数组引用陷阱
$arr[bar]="hello,world";//PHP会认为bar是一个常量
echo $arr[bar];
会报出一个警告,需要这样解决const bar="yy";这样使用很危险。
☆★PHP的数组相关的系统函数
count()函数
①count($数组名);统计数组条目
②is_array()函数判断数组
$arr=array("12","345");
//$arr=1;
echo is_array($arr);
③print_r()和var_dump[同时显示数据类型]可以显示数组信息
④拆分字符串explode explode(“按照什么拆分”)
$str="北京 天津 松江";
//在实际的开发中,涉及到字符串的拆分,可以考虑用此方法
$arr=explode("",$str);
print_r($arr);
⑤sort函数用于排序
$a[0]=1l
$a[1]=3;
$a[2]=5;
$result=count($a);
//result=3
$b[0]=7;
$b[5]=9;
$b[10]=11;
//$result=3
$arr=array();
echo count($arr);
//result=0
?>
遍历一维数组
遍历数组有很多方法,可以使用for循环,while循环,最巧妙的一种遍历数组的方法foreach()给我们带来了方便
foreach($arr as $key=>$value)
{
... ...
}

 


 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP 按位与或 (^ 、&)Next article:php中curl的用法