ホームページ > php教程 > php手册 > PHP 学習ノートの配列トラバーサル実装コード

PHP 学習ノートの配列トラバーサル実装コード

WBOY
リリース: 2016-06-13 12:08:43
オリジナル
890 人が閲覧しました

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


/* 配列トラバーサル
*
* 1. for ステートメントを使用して配列をループします
* 1. 他の言語 (この方法のみ) )
* 2. このメソッドは PHP では推奨されるメソッドではありません
* 3. 配列はインデックス配列である必要があり、添え字は連続している必要があります。
* (インデックス配列の添字は不連続である可能性があり、配列と連想配列、これら 2 つは横断できません)
*
* 2. foreach ステートメントを使用して配列をループします
* foreacho(配列変数)変数値として) {
* // ループ本体
* }
* 1. ループの数は配列内の要素の数によって決まります
* 2. 各ループは要素を割り当てます配列内の後の変数
*
* foreach (配列変数を添字変数 => 値変数) {
* }
*
*
* 3.while() list() each() はループを結合して配列
*
* each() 関数:
* 1. パラメーターとして配列が必要です
* 2. 配列
を返します* 3. 戻り値 返される配列には、0、1、キー、および値の 4 つの添字 (固定) があります。
* 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"); ($i=0;$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")
),
"score"=>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 '';
foreach($table as $row)
{
echo '';
foreach($row as $col)
{
echo ' '; >}
echo '';
}
echo '

'.$tableName.'

'.$col.'
';

// each() の使用法
$user=array("id"=>1,"name"=>"zhangsan","age"=>10, "sex"=>"nan"); $user);//Array ( [1] => 1 [value] => 1 [0] => id [key ] => id ) デフォルトは最初の要素の値です
print_r ($a);
$b=each($user);
print_r($b);//Array ( [1 ] => zhangsan [value] => zhangsan [0] => name [key] => name ) 実行されるたびに、1 つずつ逆方向に移動します
$c=each($user)
print_r($c);//Array ( [1] => 10 [値] => 10 [0] => 年齢 [キー] => 年齢 )
$d=each($d);//Array ( [1] => ナン [値] => ナン [キー] => セックス )
$e=each ($e);//bool (false) 要素がない場合は返された値
//each() と連携しながらトラバーサル
$user=array("id" =>1,"name"=>"zhangsan", "年齢"=>10,"性別"=>"南");
while($arr=each($user))
{
//echo $arr[0]." ====>".$arr[1]."
";//キー(添字)と値を表示
echo $arr["key"]."===>" .$arr["value"]."
";//キー、値を通じてキーの値を表示します
}

//list() 関数の使用法
list($name,$age,$sex)=array("zhangsan",10,"nnnnn");
echo $name."
";
echo $age."
";
echo $sex."
";
//別の使用方法
list(, ,$sex)=array("zhangsan",10,"nnnnn");
echo $sex."
";//性別のみを変数に変換
//ip判定
$ ip="192.168.1.128";
list(,,,$d)=explode(".",$ip);//explode は . で区切られて配列を返します
echo $d ;// Get out 128
//List() はインデックス配列の例のみを受け取ることができます
$user=array("id"=>1,"name"=>"zhangsan","age"= > 10,"sex"=>"nan");
list($key,$value)=each($user);//Array( [1]=>1 [0]=> id)インデックス添字の順序でリスト内のパラメータに値を割り当てるため、最初に 0 のキー、次に 1 の値を割り当てます。
echo $key."--->>".$value
// while 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); 配列ポインタは最初のポインタに移動します (リセット)
//end (array); 配列ポインタは最後の要素に移動します。
//current(array); 配列ポインタが指す現在の要素の値を取得します。
//key(array); 現在の要素のキー値(添字)を取得します
$user=array("id"=>1,"name"=>"zhangsan","age" = >10,"セックス"=>"ナン");
while(list($key,$value)=each($user))
{
echo $key."-- - >".$value."
";
}
//配列ポインタを最初の配列に移動すると、次のループで出力が行われます
//reset($user)
while(list($key,$value)=each($user))// each() は最後のものに対して false を返すため、ループは直接飛び出します
{
echo $key."- --> ;".$value."
";
}
while(list($key,$value)=each($user))// each() が false を返すため最後のループなので、ループが直接飛び出します
{
echo $key."--->".$value."
";
}
echo current($user )."=== ==>".key($user)

?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート