ホームページ >バックエンド開発 >PHPチュートリアル >PHP の配列宣言、トラバーサル、および配列グローバル変数の使用法の概要_PHP チュートリアル

PHP の配列宣言、トラバーサル、および配列グローバル変数の使用法の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:08:21939ブラウズ

PHP チュートリアル: 配列の宣言、トラバーサル、配列のグローバル変数

コードをコピーします コードは次のとおりです:

/*
* 1. 配列の概要
* 1. 配列の本質: 一連の変数の管理と操作、バッチ処理
* 2. 配列は複合型 (複数格納可能)
* 3 .配列は、任意の長さまたは任意のタイプのデータを格納できます
* 4. 配列は、他の言語のデータ構造 (リンク リスト、キュー、スタック、コレクション クラス) の機能を完了できます
*
*
*
* 2. 分類配列
* 配列には複数の単位があります (単位を要素と呼びます)
* 各要素 (添字 [キー] と値)
* 要素に個別にアクセスする場合は、添字 (キー) 要素を介してアクセスされます
* 1 . 1次元配列、2次元配列、3次元配列。 。 。多次元配列
* (配列の配列は、他の配列がその配列に格納されることを意味します)
* 2. PHP には 2 種類の配列があります
* インデックス配列: 添字は連続する整数のインデックスです
* 連想配列:それは添字です インデックスとしての文字列です
*
* 添字は 2 つだけです (整数、文字列)
*
*
* 3. 配列の複数の宣言方法
*
* 1. 配列に値を直接代入します配列要素宣言
* インデックスの場合 添字が与えられない場合、シーケンシャルインデックスは0から始まります
* インデックスの添字が与えられた場合、次は最大のものから1ずつ増加します
* 前の添字が後で出現する場合、代入の場合は前の要素になります 再代入
* 混合宣言の場合、インデックスと関連付けは相互に影響しません (インデックス添字の宣言には影響しません)
*
* 2. array() 関数を使用します
* を宣言するには
* デフォルトはインデックス配列
* 連想配列とインデックス配列に指定する場合は添字を使用します key => value
* 複数のメンバー間で
* を分割するには " , " を使用します 3. 他の関数宣言を使用します
*
*
*
*
*/
//インデックス配列
$user[ 0]=1;// ユーザーシリアル番号
$user[1]="zhangsan";// ユーザー名
$user[2]= 10;//年齢
$user[3]="nan";//性別
echo '
' <br>print_r($user); <br>echo '
';
$user["id"]=1;
$user["name"] = 10;
$user["性別"]; "]=90;//代入
echo $user["name"];/ /Output
//array() を使用して配列を宣言します
$user=array(1,"zhangsan",10,"nan") ;
//array() を使用して連想配列を宣言します
$user=array("id"= >1,"name"=>"zhangsan","age"=>10,"sex"=> ;"nan");
//テーブルに保存する多次元配列(複数レコード)を宣言 複数のユーザー情報レコード
$user=array(
//例えばこの行を呼び出すには $user[0] を使用します、このレコードの名前を呼び出します。 $user[0][1]
array(1,"zhangsan" ,10,"nan"),
//この行を呼び出すには、$user[1] を使用します。たとえば、次のようにします。このレコードの名前 $user[1][1]
array(2,"lisi",20," nv")
);
//配列は複数のテーブルを保存し、各テーブルには複数のレコードがあります
$info=array (
"user"=>array(
array(1,"zhangsan",10,"nan "),
array(2,"lisi",20,"nv")
),
"score"=> ;array(
array(1,90,80,70),
array(2,60,40 ,70)
)

);
echo $info["score"][1][1];//出力 60,
?>
配列スーパーグローバル変数
/* 定義済み配列 :
* 自動グローバル変数 --- スーパーグローバル配列
*
* 1. 実行中の WEB サーバー、クライアントからのデータが含まれます。環境とユーザー入力
* 2. これらの配列は特別です
* 3. グローバル スコープで自動的に有効になり、これらの配列を直接使用できます
* 4. ユーザーはこれらの配列をカスタマイズできませんが、これらの配列の操作方法は同じです独自に定義されたものと同じです
* 5. これらの配列は関数で直接使用できます
*
* $_GET //URL リクエスト経由でスクリプトに送信される変数
* $_POST //HTTP POST メソッド経由でスクリプトに送信される変数
* $_REQUEST //GET、POST、COOKIE メカニズムを介してスクリプトに送信される変数
* $_FILES //http post メソッド ファイルのアップロードを介してスクリプトに送信される変数
* $_COOKIE
* $_SESSION
* $_ENV //送信される変数実行環境によるスクリプト
* $_SERVER //変数はWEBサーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます
* $GLOBALS //現在のスクリプトで有効な変数が存在する限りここで、配列のキー名はグローバル スクリプトの名前です
*
*
*/
//スーパー グローバル配列は関数内にあります
$arr=array(10,20);//一般配列
$_GET=array(50,90);//スーパーグローバル配列
function Demon(){
global $arr;//グローバル変数を呼び出す 最初に
print_r($arr) を含める必要があります
print_r($_GET) ); //
を含めずにスーパーグローバル配列を直接呼び出します


?>

//php.ini 設定ファイルの register_global の場合、渡された値を変数として直接使用します。 =on の場合に便利です。
echo $username."
";
echo $email."
";
//最も安定した値のメソッド
echo $_GET[ "ユーザー名"]."
";
echo $_GET["email"]."
";
echo $_GET["page"]."
";
?>
これは $_GET テストです
input type="text" name="uname" />
password: ="submit" value="login" />

print_r($_GET);//
print_r($_POST);// のみこのようにして
?>
//$_ENV の使用
echo'
'; <br>echo'
'; /Display 現在の環境
// を個別に走査することもできます
?>
//関数内でグローバル変数を呼び出すには、$GLOBALS を使用します
$a=100; ;
$c=300 ;
関数デモ()
{
//グローバル変数を直接呼び出す
echo $GLOBALS["a"]."
"; ;br>gt;";
echo $GLOABLS["c"]."
";

}
?>

配列トラバーサル
/* 配列トラバーサル
*
* 1. 使用します。配列をループする for ステートメント
* 1. 他の言語 (この方法のみ)
* 2. この方法は PHP では推奨されない方法
* 3. 配列はインデックス付き配列である必要があり、添字は継続的であること。
* (インデックス配列の添字は不連続である可能性があり、配列と連想配列、これら 2 つは横断できません)
*
* 2. foreach ステートメントを使用して配列をループします
* foreacho (変数値としての配列変数) {
* / / ループ本体
* }
* 1. ループの数は、配列内の要素の数によって決まります
* 2. 各ループは、配列内の要素をそれぞれ後続の変数に割り当てます
*
* foreach (配列変数は添字変数 => ; 値変数) {
* }
*
*
* 3. while() list() each() 結合ループで配列を走査します
*
* each() 関数:
* 1.パラメータとしての配列
* 2 。返される配列も配列
* 3 です。返される配列には、4 つの添字 (固定) 0、1、キー、および値があります
* 0 とキーの添字は、現在のパラメータ配列のキーです要素
* 1 と値 添字は、現在のパラメーターの配列要素の値です
* 4。デフォルトでは、現在の要素は最初の要素です
* 5。実行するたびに、現在の要素は後方に移動します
* 6。最後の要素に到達した場合は、この関数を再度実行し、 false を返します
* list() 関数:
* 1. list()=array(); 配列をこの関数に割り当てる必要があります
* 2.配列内の要素は list() 関数内の数と等しくなければなりません パラメータの数は同じです
* 3. 配列内の各要素の値は list() 関数の各パラメータに割り当てられ、list()各パラメーターを変数に変換します
* 4. list() はインデックス配列のみを受け入れることができます
* 5. インデックスの添え字の順序でパラメーターに値を割り当てます
*
*
*
*/
//for ステートメントはトラバースします配列
$user=array(1,"zhangsan",40,"nan");
for ($i=0;$i<4;$i++)
{
echo"$user[{$i}] =".$user[$i]."
";
}

// foreach を使用します
$user=array(1,"zhangsan",40,"nan");
foreach($user as $val)//$val はカスタム変数です
{
echo $val."
";//出力は添え字とは何の関係もありません
}
foreach($user as $key=>$val) //$val $key はすべてカスタム変数です
{
echo $key."=====> ;".$val."
";
}

//foreach は多次元配列を走査します
$info=array(
"user"=>array(
//$user[0]
array(1 , "ザンサン", 10, "ナン"),
//$user[1][1]
array(2, "lisi", 20, "nv"), //$user[1]
//$ user[2]
array(3, "wangwu", 30, "nan")
),
"スコア"=>array(
array(1, 100, 90, 80),
array(2, 99, 88, 11),
array(3, 10, 50, 88)
),
"connect"= >array(
array(1, '110', 'aaa@bbb.com'),
array(2 , '120', 'bbb@ccc.com'),
array(3, '119', ' ccc@ddd.com')
)
);
foreach($info as $tableName=>$table)
{
echo 'echo '

'.$tableName.'

';
foreach($table as $row)
{
echo ' ';
foreach($row as $col)
{
echo '';
echo ''
echo '
'.$col.'
';
}

//each() の使用法
$user=array("id "=>1,"name"=>"zhangsan","age"=>10," sex"=>"nan");
$a=each($user);//Array ( [ 1] => 1 [値] => 1 [0] => id [キー] => ; id ) デフォルトは最初の要素の値
$b=each($user);//Array ( [1] => zhangsan [value] => zhangsan [0] => name [key] => 実行されるたびに、逆方向に走査します a

$c=$c);//Array ( [1] => 10 [値] => 10 [0] => 年齢 [キー] => 年齢 )
$d=each($d);//配列 ( [1] => nan [値] => nan [0] => 性別 [キー] => 性別 )
var_dump($e); false) 要素がない場合は戻り値
//each() と連動
$user=array("id "=>1,"name"=>"zhangsan","age"=> ;10,"sex"=>"nan");
while($arr=each($user))
{
//echo $arr[0]."====>.$arr[ 1]."
";//0,1 までのキー (添え字) と値を表示します
echo $arr ["key"]."===>".$arr["value"]。 "
";//キーと値を通じてキーの値を表示します
}

//list() 関数の使用法
list($name,$age,$sex)=array("zhangsan",10,"nnnnn");
echo $name."
"; $age."
";
echo $sex."
";
//
list(,,$sex)=array("zhangsan",10,"nnnnn" ; を使用する別の方法.",$ip);//explodeは.で区切って配列を返すという意味
echo $d;//128個を取り出す
//list()はインデックス配列の例しか受け取れない
$user=array(" id "=>1,"名前"=>"張さん","年齢"=>10,"性別"=>"南");
list($key,$value)=each($user ) ;//Array( [1]=>1 [0]=>id) は、インデックス添え字の順序でリスト内のパラメーターに値を割り当てます。そのため、0 キーが最初で、次に 1 値になります
echo $key."---> ;".$value;
//list() each() を組み合わせて使用​​します
$user=array("id"=>1,"name"=>" zhangsan","age"=>10, "sex"=>"nan");
while(list($key,$value)=each($user))
{
echo $key."-- ->".$value."< br>";
}

//複数のループで一度だけ表示する解決策
//配列の内部ポインタ制御関数を使用する
//next(array);配列ポインタを次の配列に移動します
//prev(array) ;配列ポインタを前の配列に移動します
//reset(array);配列ポインタを最初の配列に移動します(reset)
//end(array);配列ポインタを最後に移動
//current(array);現在の要素を取得 の値、現在の要素は配列ポインタが指す要素です。
//key(array); 現在の要素のキー値(添え字)を取得します
$user=array("id"=>1,"name"=>"zhangsan","age"=>10 , "sex"=>"nan");
while(list($key,$value)=each($user))
{
echo $key."--->".$value."< ; br>";
}
//配列ポインタを次の最初のループに移動して出力します
//reset($user)
while(list($key,$value)=each($user)) // each() は最後のものまで false を返すため、ループが直接飛び出します
{
echo $key."--->".$value."
";
}
while(list($key) ,$value)=each($user))// each() は最後のものまで false を返すため、ループが直接飛び出します
{
echo $key."--->".$value."< br> ";
}

echo current($user)."=====>".key($user);
?>





http://www.bkjia.com/PHPjc/327468.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/327468.html技術記事 PHP チュートリアル: 配列の宣言、トラバーサル、配列のグローバル変数のコピー コード コードは次のとおりです: /* * 1. 配列の概要* 1. 配列の本質: 変数のセットの管理と操作、バッチ処理* 2. 配列。 ..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。