php第六天 数组

数组
是一个能在单个变量中存储多个数据值的特殊变量

// 数组的声明方式
$arr = array();
$arr -[];

//数组的种类
 //索引数组:    下标是整数.     通常, 下标从0开始
 //关联数组:    下标是字符串

$arr = ['妹子','23','女','必火12期'];
$arr = array(12,12,123,443,312);
//声明数组方式一
//数组名[ 下标 ] = 值;

	// 数字下标 索引数组
  	$arr[0] = '张三';    		
    $arr[1] = '男';
    $arr[2] = 18;

	// 字符串下标 关联数组
    $brr['name'] = '李四';    
    $brr['sex'] = '女';
    $brr['age'] = 20;

	// 打印查看整个数组元素 
	// echo $arr; 报错,显示一个'Array' 数组不能被直接echo输出 
	echo '<pre>'; 
	var_dump($arr); // 正确方式 
	print_r($brr);  // 正确方式


// 索引数组的基本操作
//添加
$arr[4]= '175cm';
arr[] ='165cm';  // 不写默认加一  //最大下标加一
//删除
unset($arr[2]);  //
//修改
$arr[3] = '三轮车';
// 获取
ehco $arr[0];  
  // 注意: 当 [ ] 为空时, 会被理解为 索引下标最大值+1 参看下面代码: 

    $arr[ ] = 'a'; // 数组的第1个元素, 所以这个下标为 0 
    $arr[3] = 'b'; // 可以指定随意数字做下标, 不一定是 1 
    $arr[ ] = 'c'; // 这个元素的下标为 4, 就是最大下标3 + 1 

// 打印查看整个数组元素 
// echo $arr; 报错,显示一个'Array' 数组不能被直接echo输出
echo '<pre>';
var_dump($arr);// 正确方式 
echo '<hr>';
print_r($arr);// 正确方式 
echo '</pre>';

//  关联数组  下标是字符串

	$brr  = [ 'name'=>'张三', 'sex'=>'男', 'age'=>18 ];
 	// 添加值
    $brr['height'] = '180cm';
	//使用变量代表下标
    $hometown= 'hometown';
    $brr[$hometown] = '新疆-克拉玛依区';

	// 删除值
	unset($brr['sex']);

	$brr['sex'] = null;     // 删除一个值
	$brr = null;            // 删除整个数组	

	// 修改值
	$brr['age'] = 20;

	// 获取值
 	echo $brr['name']; // 输出 张三
	

    // 注意:
	unset( $brr );    	    // 销毁整个数组

	echo $brr[ name ];      // 报错, 常量未定义, 然后把 name 理解为字符串, 输出张三

//索引和关联混合数组
  $crr = [];
    $crr[ ] = 18; // 索引下标 是 0
    $crr['name'] = 'a'; 
    $crr['sex'] = 'b'; 
    $crr[] = 30; // 索引下标 是 1
//声明数组方式二
//  数组名 = array(  );
	$arr = array( 'name'=>'张三', 'sex'=>'男', 'age'=>18 );

    $brr = array( '李四', '女', 20 );  	  // 下标为 0  1  2

	$crr = array( 'name'=>'王五', '男', 21); // 下标为 name  0  1
//声明数组方式三
// 数组名 = [  ];
  	$arr = [ 'name'=>'张三', 'sex'=>'男', 'age'=>18 ];

	$brr = [ '李四', '女', 20 ];			// 下标为 0  1  2

	$crr = [ 'name'=>'王五', '男', 21 ];   // 下标为 name  0  1

数组遍历

遍历, 是指对数组中每一个元素,挨个去处理.

方式一 foreach


	$arr = ['a', 'b', 'c', 'd'];

	foreach( $arr as $k => $v ){
      	.... 
	}

	/*
	    $arr  是要遍历的数组
	    把数组中每一个元素拿出来  下标(键)    赋值给$k
	                            元素(值)    赋值给$v
	                            
	    换句话讲, $k 和 $v 相当于形参
	*/

方式二 for

 	$arr = ['a', 'b', 'c', 'd'];
	$n = count( $arr );
	
	for($i = 0; $i < $n; $i++){
      	echo $arr[ $i ];
	}

	/*
		数组的下标, 必须是连续的索引数组
	*/

多维数组

数组中的元素, 还是数组

	$a = ['a', 'b', 'c'];
	$b = ['d', 'e', 'f'];
	$c = ['g', 'h', 'i'];

	$arr = [ $a, $b, $c ];  // 二维数组

	// 一般是下面这样的写法, 不需要$a,$b,$c这三个变量名
	$arr = [
      	['a', 'b', 'c'],
      	['d', 'e', 'f'],
      	['g', 'h', 'i']
	];

多维数组实例


	$users = [
  		['name'=>'张三', 'sex'=>'男', 'age'=>18],    
  		['name'=>'李四', 'sex'=>'女', 'age'=>20],
  		['name'=>'王五', 'sex'=>'男', 'age'=>21],
	]; 

	echo '<table border=1>';
	foreach( $users as $k => $v){
      	echo "<tr>
                <td>{$v['name']}</td>
                <td>{$v['sex']}</td>
                <td>{$v['age']}</td>
            </tr>";
	}
	echo '</table>';

超全局数组

超全局, 是指 超越页面, 可以在两个文件之间传递的变量.

$_GET URL地址 表单, 超连接

$_POST 表单

$_REQUEST 包含 $_GET 和 $__POST

$_COOKIE

$_SESSION

$_FILES //文件上传 // 表单 method = ‘post’ enctype=’ ’
1 name
type
tmp_name
error
size

$_SERVER

	$_SERVER['SERVER_NAME']      // 主机名
    $_SERVER['SERVER_ADDR']      // 本服务器IP地址
    $_SERVER['HTTP_USER_AGENT']  // 用户浏览器
    $_SERVER['DOCUMENT_ROOT']    // 根目录的路径
    $_SERVER['REQUEST_URI']      // 用来指定要访问的页面
  	$_SERVER['REMOTE_ADDR']      // 浏览当前脚本的用户IP地址
    $_SERVER['QUERY_STRING']     // 问号后面的检查字符串
	$_SERVER['PHP_SELF']         // 文件自己

数组函数

range(  )	根据范围创建数组,包含指定的元素 

is_array(  )    判断变量是否为一个数组

count(  )	 返回数组中元素个数

array_values( )     返回数组中所有的值

array_keys( )    返回数组中所有的键名

in_array( )         检查数组中是否存在某个值

array_pad( )      用值将数组填补到指定长度

array_sum( )       计算数组中所有值的和

array_merge( )     合并一个或多个数组

array_reverse( )     返回一个单元顺序相反的数组

array_unique( )     移除数组中重复的值

array_push( )      将一个或多个单元压入数组的末尾(入栈)

array_pop( )       将数组最后一个单元弹出(出栈)

array_unshift( )     在数组开头插入一个或多个单元

array_shift( )     将数组开头的单元移出数组

json_encode( )    对变量进行 JSON 编码

json_decode( )JSON 格式的字符串进行解码

explode( 分割符, 字符串 )    把一个字符串, 按某些字符拆分,  返回一个数组

implode( 连接符, 数组 )   把数组中每个元素, 用连接符拼接成一个字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值