ホームページ >バックエンド開発 >PHPチュートリアル >Benniao は php(6) 配列を学びます

Benniao は php(6) 配列を学びます

WBOY
WBOYオリジナル
2016-06-13 12:03:241033ブラウズ

Benniao が学ぶ php (6) 配列

1. 配列の概要

1.1 配列は複合型です

1.2 配列には、任意の長さと任意のタイプのデータを格納できます


2. 配列の型

2.1 インデックス配列: 添字はインデックスとしての連続した整数です

<?php	$user[0] = 1;	$user[1] = "zhangsan";	$user[2] = "[email&#160;protected]";		echo &#39;<pre class="brush:php;toolbar:false">';	print_r($user);	echo '
';?>

2.2 連想配列: 添字はインデックスとしての文字列です

<?php	$user["id"] = 1;	$user["name"] = "zhangsan";	$user["email"] = "[email&#160;protected]";		echo &#39;<pre class="brush:php;toolbar:false">';	print_r($user);	echo '
'; $user["name"] = "lisi"; echo $user["name"];?>

3. 配列の複数の宣言方法

3.1 直接代入配列要素への値

a. インデックスの添字が指定されていない場合、順次インデックスは 0 から始まります
b. インデックスの添字が指定されている場合、次のインデックスは最大のものから増加します。 1

c. 前の添字が後で出現する場合、それが代入の場合、前の要素が再割り当てされます
d. 混合宣言を行う場合、インデックスと関連付けは相互に影響しません (宣言インデックス添字の影響を受けません)


3.2 array() 関数を使用します

a. デフォルトはインデックス配列

です。

b. 連想配列とインデックスの場合 配列の添え字を指定するには、key => value
c.

<?php	$user1 = array (1, "zhsangsan", 10, "nan", "[email&#160;protected]");	echo &#39;<pre class="brush:php;toolbar:false">';	print_r($user1);	echo '
'; /** Array( [0] => 1 [1] => zhsangsan [2] => 10 [3] => nan [4] => [email protected] ) */ $user2 = array("id"=>1, "name"=>"zhsangsan", "age"=>10, 100=>"nan", "[email protected]"); echo '
';	print_r($user2);	echo '
'; /** Array( [id] => 1 [name] => zhsangsan [age] => 10 [100] => nan [101] => [email protected] ) */?>

重要な知識ポイント: 2 次元配列

<?php	$info=array(		"user"=>array(				array(1, "zansan", 10, "nan"),				array(2, "lisi", 20, "nv")		 )	);	echo $info["user"][1][1]; // lisi	echo '<pre class="brush:php;toolbar:false">';	print_r($info);	echo '
'; /** Array ( [user] => Array ( [0] => Array ( [0] => 1 [1] => zansan [2] => 10 [3] => nan ) [1] => Array ( [0] => 2 [1] => lisi [2] => 20 [3] => nv ) ) ) */?>

4. 配列トラバーサル

4.1 for ステートメントを使用してループスルーする (非推奨)

      局限性: 数组必须是索引数组, 而且下标必须是连续的 (然而索引数组下标可以不连续, 数组还可能是关联数组)

<?php  	$user = array(1, "zhasna", "[email&#160;protected]");	for($i = 0; $i < count($user); $i++){		echo "\$user[{$i}]=".$user[$i]."<br>";	}		/**	 	$user[0]=1		$user[1]=zhasna		$user[2][email protected]	 */?>

4.2 使用foreach语句循环遍历(强烈推荐)

      循环次数由数组的元素个数决定, 每一次循环都会将数组中的元素分别赋值给后面的变量

<?php    $user=array(1, "name"=>"zhasna", "age"=>40, 100=>"nan", "[email protected]");    foreach($user as $key => $val){   // $var 是自定义变量, $key自定义变量  		echo $key." =====> ".$val."<br>";    }        /*     	0 =====> 1		name =====> zhasna		age =====> 40		100 =====> nan		101 =====> [email protected]     */        foreach($user as $val){   // 不要key也可以, 直接遍历$user的值  		echo $val."<br>";    }        /*     	1     	zhasna		40		nan		[email protected]     */?>

4.3 使用while(), list(), each() 组合循环遍历(不推荐)

      each() 函数:

      * 需要一个数组作为参数

      * 返回来的也是一个数组

      * 返回来的数组时0, 1, key, value四个下标, 0和key下标是当前数组元素的键, 1和value下标是当前数组元素的值

      * 默认当前元素就是第一个元素

      * 每执行一次后就会将当前元素向后移动

      * 如果已经到了最后还执行这个函数, 则返回false

<?php	$user = array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");		while($arr = each($user)){		// echo $arr[0]."==>".$arr[1]."<br>";		echo $arr["key"]." ----> ".$arr["value"]."<br>";	}		/**	 	id ----> 1		name ----> zhangsan		age ----> 10		sex ----> nan	 */?>

      list() 函数:

      * list()=array(); 需要将一个数组赋值给这个函数

      * 数组中的元素个数要和list()函数中的参数个数相同
      * 数组中的每个元素值会赋值给list()函数中的每个参数,list()将每个参数转为变量

      * list()只能接收索引数组

<?php	list($name, $age, $sex) = array("zansan", 10, "nnnnn");	echo $name."<br>";	echo $age."<br>";  // list中的值和数组中的值一一对应	echo $sex."<br>";  // 如果不想给name赋值, 那就写成list(, $age, $sex)	/*	 	zansan		10		nnnnn	 */	 	$user1 = array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");	list($key, $value) = each($user1);  // Array ( [1] => 1  [0] => id  ) 	echo $key." --> ".$value;	/*	 	id --> 1	 */		$user2 = array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");	while(list($key, $value) = each($user2)){		echo $key." ==> ".$value."<br>";	}	/*	 	name ==> zhangsan		age ==> 10		sex ==> nan	 */?>







声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。