文档章节

PHP的数组

PHer
 PHer
发布于 2014/09/10 17:06
字数 720
阅读 5
收藏 0

PHP的数组声明基本语法:

$arr=array("",,,,,,,,,,,,,);

$arr=array(key==>元素的值,key2==>元素的值2);

这种方法是定义索引,索引可以是字符串或者数字,如果省略了索引,会自动从0开始的整数索引。

如果索引是整数,则下一个产生的索引值是当前最大索引值+1.如果定义了两个完全的索引,后面的定义的索引值会覆盖前面的整数。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

数组里边存了一个数组,这种数组称之为二维数组

<?php $many=array( "var"==>array("a"==>"apper","b"==>"酷似神仙","c"==>"hello php"), "doli"==>array("one"==>"第一位","two"==>"第二位","three"==>"第三位"),
 "hold"==>array("first",3,4=>"fourth") );

$contact=array(1,"高某","A公司","北京市","(010)1231546","gao@php.com");
echo '<table border="0px" width="600px" align="center">';
echo  '<caption><h1>联系人列表</h1></caption>';
echo  '<tr><td>编号</td>
<td>姓名</td>
<td>公司</td>
<td>地址</td>
<td>电话</td>
<td>EMAIL</td>
</tr>';
echo '<tr>';
for($i=0;$i<count($contact);$i++){
echo '<td>'.$contact[$i].'</td>';


}
echo '</tr>';
echo '</table>';

二维数组的遍历

$contact=array(array(1,"高某","A公司","北京市","(010)1231546","gao@php.com"),
				array(2,"趟某","A公司","北京市","(010)1231546","gao@php.com"),
				array(3,"证某","A公司","北京市","(010)1231546","gao@php.com"),
				array(4,"云某","A公司","北京市","(010)1231546","gao@php.com"),
				array(5,"飞某","A公司","北京市","(010)1231546","gao@php.com")
				);
echo '<table border="0px" width="600px" align="center" bgcolor=#dddddd>';
echo  '<caption><h1>联系人列表</h1></caption>';
echo  '<tr bgcolor="green"><td>编号</td>
			<td>姓名</td>
			<td>公司</td>
			<td>地址</td>
			<td>电话</td>
			<td>EMAIL</td>
			</tr>';

echo  count($contact);
for($rows=0;$rows<count($contact);$rows++){
	echo '<tr>';
		for($cols=0;$cols<count($contact[$rows]);$cols++){
			echo '<td>'.$contact[$rows][$cols].'</td>';

		}
		echo '</tr>';
}
echo '</table>';


?>


自动索引:

<?php

 $Ahui=array(1,1,1,4,,4=>34,8,7=>64);

 echo $Ahui; 

?>

结果:

Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 4 [4] => 8 [7] => 64 


对于PHP的数组来说,数组的类型没有做固定的限制,可以是字符串,可以是浮点数,或者是布尔值都可以,如果数组运算比较时候,会自动的进行转换。

二分查找

使用二分查找的数组必须是个有序数组。


二分查找:抽取数组中间的数跟要查找的数做比较,如果大于了中间的数,则往右边查找,找出他的下标。

          如果小于中间的数,则往左边查找,找出他的下标。

如下代码:

<?php
	
	function binaryserch(&$arr,$var,$leftindex,$rightindex){
	if($leftindex>$rightindex){
		echo "没有这个数";
		break;
	}
	$midindex=round(($leftindex+$rightindex)/2)+1;
	if($var>$arr[$midindex]){
			binaryserch($arr,$var,$midindex+1,$rightindex);
	}elseif($var<$arr[$midindex]){
			binaryserch($arr,$var,$leftindex,$midindex-1);
	
	}else{
		echo "下标已经找到".$midindex;
	}


	}
	

	$arr=array(10,15,90,91,96);
	binaryserch($arr,91,0,count($arr));


?>

顺序查找:

顺序查找即,挨着顺序一个个的与要查找的数作比较,找出这个数。

<?php
 $Ahui=array(1,1,1,4,34,4=>8,7=>64);
function search($arr,$finval){
for($i=0;$i<count($arr);$i++){
	if($finval==$arr[$i]){
		echo $finval;
	 echo "这正是你想要找的值,下标=".$i;
	}
}
}

search($Ahui,8);
print_r($Ahui);
?>









本文转载自:http://blog.csdn.net/newoner/article/details/9623617

PHer
粉丝 4
博文 121
码字总数 38443
作品 0
成都
程序员
私信 提问
深入学习PHP数组删除元素方法

学习PHP时,你可能会遇到PHP数组删除问题,这里将介绍PHP数组删除问题的解决方法,在这里拿出来和大家分享一下。学过C语言的人可能都知道,C语言对字符串的处理功能很强,PHP是用C写成的,自...

mickelfeng
2012/11/05
0
0
php数组循环输出实现方法【实例代码有误!!】

以前我们经常会想怎么来实现php数组循环输出来,本文章来介绍了利用php中常用的四种循环语句来实现单数组或多维数组循环输出方法. 在 PHP 中,我们可以使用下列循环语句: while 只要指定的条件...

adbug
2016/04/11
47
0
PHP入门进阶(01)--数组

PHP入门进阶(01)--数组 最近跟朋友弄个导航网站,发现基本都是用PHP开发的,于是乎第一次接触PHP环境。刚开始一头雾水,它不像.NET那样装个VS就万事大吉了,像什么Apache, MySQL, PHP还真没...

技术小胖子
2017/11/16
0
0
php 操作数组 (合并,拆分,追加,查找,删除等)

合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为: Php代码 收藏代码 array array_...

mdoo
2016/09/04
20
0
PHP函数使用记录

array_flip:交换数组中的键和值 http://php.net/manual/zh/function.array-flip.php array_slice:从数组中取出一段 http://php.net/manual/zh/function.array-slice.php array_splice:把数......

专业填坑
2016/04/21
16
0

没有更多内容

加载失败,请刷新页面

加载更多

axios 使用步骤很简单,首先在前端项目中,引入 axios:

  前端网络访问,主流方案就是 Ajax,Vue 也不例外,在 Vue2.0 之前,网络访问较多的采用 vue-resources,Vue2.0 之后,官方不再建议使用 vue-resources ,这个项目本身也停止维护,目前建...

SEOwhywhy
26分钟前
2
0
c++ 创建对象的三种方法

c++有三种方法创建对象 结合代码来看 1 #include <iostream> 2 using namespace std; 3 class Test { 4 5 private: 6 public: 7 add() 8 { 9 ......

天王盖地虎626
40分钟前
1
0
ant 中的fileset include等拷贝

拷贝一个目录到指定目录下 例:<copy todir="${basedir}/new"> <fileset dir="${basedir}/old"> <include name="appgen" /> <include name="appgen/" /> <include name=appgen/**" /> <incl......

shzwork
46分钟前
2
0
react-jianshu项目的创建

创建项目 1、github上创建仓库react-jianshu 2、将项目克隆到本地git clone git@github.com:startjcu/react-jianshu.git 3、在当前目录(项目目录的上级目录)下执行create-react-app react-...

星闪海洋
56分钟前
2
0
OSChina 周二乱弹 —— 小哥哥,你可以教我写代码吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @nnnm: 生活大爆炸,结束了,这部陪伴了漫长时间的情景喜剧,最终是以诺贝尔奖和大团圆收尾的。虽然,不算精彩,但也是温馨。而少年谢尔顿的...

小小编辑
今天
755
13

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部