ホームページ  >  記事  >  バックエンド開発  >  PHP ラーニング アレイ コースウェア

PHP ラーニング アレイ コースウェア

黄舟
黄舟オリジナル
2016-12-19 13:36:301118ブラウズ

添字: 配列内の文字列または整数のコード名である配列内の識別名。

配列内のインデックス値の数は、数次元配列と呼ばれます。
インデックス値: インデックスは、データベーステーブル内の 1 つ以上の列の値を並べ替える構造です。

配列の分類
PHP の配列は 2 つのタイプに分類されます:
インデックス付き配列: インデックス付き (インデックス付き) インデックス値は 0 から始まる整数です。インデックス付き配列は、位置によって物事を識別するときに使用されます。
連想配列: 連想 (連想) 関連付けでは、文字列をインデックス値として使用します。インデックス値は列名であり、列データにアクセスするために使用されます。

配列は通常、代入を使用します
一般に、配列を割り当てる方法は 2 つあります:
$a[1]="dsadsadsa";
$b[2]="dsadsadsad";
配列関数を使用します:
$a= array ("dsads","dsadsa",321312);
1 次元配列: 配列にインデックス値 (添字) が 1 つだけある場合、それは 1 次元配列と呼ばれます。
直接配列代入の形式:
$Array 変数名 [インデックス値] = データ内容;
注: インデックス値は文字列または整数ですが、1 と "1" は異なります。整数と文字列になります。

インデックス値のない同じ名前の配列が順番に配置されます。
例:
$a=array(1,2,3,4,5,6);
$b=array("one", "two", "three");配列(0 => "aaa"、1 => "bbb"、> "ccc"); "zhang", "age"=>20);
2 次元配列
多次元配列の形式:
$a[0][ ]="dsadsa"; このグループは、$a の 0 インデックス値の下の 1 と 2 です。
配列関数を使用して次のように形式を宣言した場合:
$a=array("dsadsa"," dsadas",21, array("dsadsa","dsadas"));

配列トラバーサル
foreach ループ構造:
foreach は次の 2 つの形式のみを使用します。 ) as $key=>$value);
最初の形式は、指定された array_exprssion 配列を走査します。ループを通過するたびに、現在の値が $calue に割り当てられ、配列内のポインターが 1 ステップずつ進みます。
2 番目の形式でも同じことを行いますが、現在のセルのキー値が各ループの変数 $key にも割り当てられる点が異なります。
foreach の実行が開始されると、配列内のポインターは自動的に最初のユニットを指します。また、foreach は配列自体ではなく、指定された配列のコピーを操作することに注意してください
$arr=array(10,20,30,40,50,60);
foreach($arr as $k=>$v ); {
echo "$k=>$v
"; }

出力結果: 0=>10 1=>20 2=>30 3=>40 4=>50 5 = >60//Subscript=>整数
list()、each() および while ループの組み合わせ
each():
$arr=array(1,2,3,4,5);
$a =each( $arr);
print_r($a);
出力結果: Array ( [1] => 1 [value] => 1 [0] => 0 [key] => 0 )
最初の値を取得配列値の添字キーの値
list():
$arr3=array("a","b","c");
list($key,$value)=each($arr3 ); $key."
".$value;
出力結果: 0 List() は、数値インデックス付きの配列に対してのみ使用でき、値を変数のセットに割り当てることができます。数値インデックス 0 から開始します。
while ループ
$arr=array(1,2,3,4,5,6,7,8,9,);
while(list($key,$value)=each($arr)){
$キー ++; echo $ key. "= & gt;"
echo "& lt; br & gt;";出力結果: 1=>1 2=>2 3=>3 4=>4 5=>5 6=>6 7=>7 8=>8 9=>9
リセット() 配列ポインタのリダイレクト
each() の実行後、配列ポインタは配列内の次のユニットに留まるか、配列の終端に達すると最後のユニットに留まります。
is_array は、変数が配列であるかどうかを検出して true を返し、true false false を返します
$arr=array(1,2,3,4,5,6,"saas")
while(list($k,$v) = each($ arr))
{
if(is_array($arr))
{
$x += $v;
else
{
$x += $k;
この例 is_array の機能を完全に反映することはできませんが、参考として使用できます。
配列ポインタ
next(): ポインタを後方に移動する役割
prve(): ポインタを前方に移動する役割
end(): ポインタを配列の最後の要素に指します
reset(): 現在の要素を無条件に移動します最初のインデックス位置へのポインター
構文形式:mixed next(array name)
$arr=(array(1,2,3,4,5));
出力結果: 5
key ( )、current()、count()
key() 関数は、現在のポインタが指すデータのインデックス値を読み取ります。
current()関数はカレントポインタが指すデータの内容データを読み込みます。
count() 関数は、配列内のすべての要素の数をカウントするために使用されます。これは、関数がターゲット配列の長さの値を返すことを意味します。
形式: int count (配列名);

key(): 連想配列からキー名を取得
$array = array('fruit1' => 'apple','fruit2' => 'orange', ' フルーツ 3' => 'ブドウ','フルーツ 4' => 'リンゴ','フルーツ 5' => 'リンゴ');
if ($fruit_name = = 'apple') {
echo key($array).'
'; }
next($array)
}
出力結果: Fruit1, Fruit4, Fruit5

current(); array
の現在の単位 $transport = array('foot', 'bike', 'car', 'plane'); // $mode = 'foot'; = next($transport); // $mode = 'バイク'; // $mode = 'バイク'; // $mode = ' foot';
$mode = end($transport); // $mode = current($transport);
返される例に注意してください。配列内の現在の値 Unit

count(): 配列内のユニットの数を計算します
$arr=array(1,2,3,4,5,6);
echo count($arr);結果: 6

array_change_key_case( )
array_change_key_case は、文字列キー名がすべて小文字または大文字である配列を返します
それには、大文字に変換する 2 つの形態素関数 [CASE_UPPER] と小文字に変換する [CAS_LOWER] が含まれています。
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
出力結果: Array ( [FIRST] => 1 [SECOND] ] => 4)

array_chunk()
array_chunk() サブ関数は、ターゲット配列のデータ内容を、指定されたインデックス数を持ついくつかの小さな配列に分解し、それらを元の配列に含めます。
$arr=array(1,2,3,4,5,6);
$a=array_chunk($arr,3);
print_r($a);出力結果: Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] =>5 array_count_values (対象配列)
この関数が返す結果の値は、元の配列の内容データをインデックスとした配列の形で表現されます。
$arr=array(1,2,3,3,2,6);
print_r(array_count_values($arr));
出力結果: Array ( [1] => 1 [2] => 2 [ 3] => 2 [6] => 1)

array_fill
array_fill を使用すると、ユーザーはターゲット配列内の指定されたインデックス セクションを埋める値をカスタマイズできます。
構文形式:array_fill(インデックス開始位置、セクションサイズ、指定文字)
インデックス開始位置とセクションサイズは整数(整数)の値であり、指定するセクションサイズは0であってはなりません。
$a = array_fill(5, 6, 'banana');
print_r($a);
出力結果: Array([5] =>バナナ[6] =>バナナ[7] =>バナナ[ 8] => バナナ[9] => バナナ[10] => バナナ)

array_filter
array_filter は、ターゲット配列の各値をユーザー定義関数に渡します。ユーザー定義関数が TRUE を返した場合、入力配列の現在の値が返された結果配列に含まれます。配列のキー名は変更されません。
構文形式: array_filter (対象配列、ユーザー定義関数)
function od($var)
{
return($var % 2 == 1)
}
$array1 = array("a"=> 1) , "b"=>2, "c"=>3, "d"=>4, "e"=>5);
print_r(array_filter($array1, "odd"));結果: Odd:Array([a] => 1[c] => 3[e] => 5)
$entry = array(0 => 'foo',1 => false,2 = > -1,3 => null,4 =>
print_r(array_filter($entry));
出力結果 Array([0] =>foo[2] =>
その他のコールバック関数: array_walk ()、array_map()

array_flip
array_flip は、ターゲット配列のインデックスとコンテンツの値を反転し、反転された配列はインデックスとして元のコンテンツの値を使用し、インデックスをデータのコンテンツとして使用します。構文形式: 配列内のキーと値を交換します
array_flip (ターゲット配列)
$trans = array("a" => 1, "b" => 1, "c" => 2); $trans = array_flip($trans);
print_r($trans);
出力内容: Array([1] =>b[2] =>c)
同じ値が複数回出現する場合、最後のキー名はその値として使用され、他の値はすべて失われます。


array_sum
array_sum は、配列内のすべての要素値の合計を計算するために使用されます。
構文形式: array_sum (対象配列)

array_unique
array_unique は、対象配列内の重複データを削除し、演算後に新しい値を返すために使用されます。

array_keys と array_values
array_keys この関数は、連想配列の場合、元のキー名を無視し、連番を使用して配列のインデックスを再作成します。
array_values この関数は、数値または文字列を含むキー配列を返します。入力配列内のすべての値を返し、数値的にインデックスを付けます。
$arr=array("a"=>1,"b"=>2,"abc",2);
$c=array_values($arr);出力結果: $b=Array ([0] => a [1] => b [2] => 0 [3] => 1 )
$c=Array ( [0] => 1 [1] => 2 [2] => abc [3] => 2)

配列の取得
配列の取得とは、主に配列のキー名や要素の値を判断することを指します。または配列要素が存在しない。
文法形式: bool in_array(mixed $needle, array $haystack[, bool $strict]);
$arr3=array(1,2,3,"hello","wprld"); hell",$arr3,true);
var_dump($b);
$arr4=array(1,2,3,array("hello","world"));
$b=in_array(array("hello ","world"),$arr4);
var_dump($b);
出力結果: bool(false) bool(true)

配列と変数間の変換
extract() 関数と Compact() 関数は配列と変換を実行します変数の間。
変換後も配列要素のキー名と変数名、要素の値と変数の値は対応関係を保ちます。
extract この関数は、配列から現​​在のシンボル テーブルに変数を注ぐために使用されます
$info = array("user_id"=>2006001,"user_name"=>"Tong Xiangyu", "position"=>"Project) Manager ");
extract($info);
echo $user_id;
出力結果: 2006001
compact() は可変数のパラメーターを受け入れます。各パラメータは、変数名を含む文字列、または変数名を含む配列にすることができ、その単位の内容が再帰的に処理される他の配列を含むこともできます。
$city = "サンフランシスコ";
$event = "SIGGRAPH";
$result = array("city","state"); "nothing_here",$location_vars);
print_r($result);
出力結果: Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA )

配列とスタック
array_push() 関数は、1 つ以上の要素を配列スタックの末尾にプッシュし (プッシュ)、スタックにプッシュされた要素の数を返します。
array_pop() 関数は、配列スタックの最後の要素をポップし、その要素を返します。
array_push の例
$a=array("dsa","dsas","dfs","gfd");
print_r($a);結果: 配列 ([0] => dsa [1] => dsas [2] => dfs [3] => gfd [4] => ssss [5] => ddddd )
例 array_pop配列の最後の要素をポップして返し、配列の長さを 1 つ減らします。配列が空の場合 (または配列ではない場合)、NULL が返されます。
$a=array("dsa","dsas","dfs","gfd");
array_pop($a);
出力結果: Array ( [0] => dsa [1] => dsas [2] => dfs )

配列と列
配列の最初の要素が先頭で、最後の要素が末尾になります。 。
スタックメソッドを使用して、ペアの最後に要素を挿入できます。
キュー配列から反対側の要素を削除するには、配列の最初の要素をシフトして結果として返す array_shift 関数を使用できます。同時に、配列の長さが 1 減ります。他の要素は 1 ビット前に移動します。すべての数値キー名は 0 から数えるように変更され、テキスト キー名は変更されません。
array_shift の例
$a=array("dsa","dsas","dfs","gfd");
print_r($a);
出力結果: Array ( [ 0] => dsas [1] => dfs [2] => gfd )
array_unshift() 関数を使用して、キュー配列の先頭に 1 つ以上の要素を挿入できます。要素が正常に挿入されました。
$a=array("dsa","dsas","dfs","gfd");
$title=array_unshift($a,"a",array(1,2)); ;
出力結果: Array ( [0] => a [1] => Array ( [0] => 1 [1] => 2 ) [2] => dsa [3] => dsas [4] => dfs [5] => gfd )
配列を挿入することもできることがわかります

配列のソート
キー名の配列ソートを無視します
sort()正の
rsort() 反転
usort ()
$arr = array("3"=>"レモン", "2"=>"オレンジ", "4"=>"バナナ", "1"= >"apple");
ksort($arr);
foreach ($arr as $key => $val) {
"echo "$key = $valn" }

配列の計算配列の計算がより便利になります。最も単純な計算は、配列内のすべての要素の合計を求めることです。配列をセットとして扱ったり、2 つ以上の配列を結合したり、配列間の差分や共通部分を計算したりすることもできます。
配列の結合 Merge は + ではありません
$arr2=array(1,2,3);
$a=array_merge($arr2,$arr3); print_r($a);
出力結果: Array ([0] => 1 [1] => 2 [2] => 3 [3] => 3 [4] => 4 [5] => 5)
配列の差集合を計算する
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b") = > "緑", "黄",​​ "赤");
$result = array_diff($array1, $array2);
出力結果: Array ([1] => 青)差分レベルは、前の差分値
を取得して配列の共通部分を計算します
$array1 = array("a" => "green", "red", "blue"); $array2 = array(" b" => " 緑", "黄",​​ "赤");
$result = array_intersect($array1, $array2);
print_r($result);
出力結果: Array ( [a] => green [0] => ; red ) 交差は、上側と下側の両方に共通の

を使用して、指定された範囲の配列を作成します:
range();
配列内の重複する値を削除します:
array_unique() ;
配列を逆順で返す:
array_reverse();

配列のランダム関数: 乱数
srand((float) microtime()*10000000) ランダムジェネレータシードを設定する
array_rand();

echo date("Ymd").rand(1000000,9999999 )."jpg";

出力結果:200805096246795jpgの乱数

上記はPHP配列学習コースウェアの内容です。 PHP 中国語 Web サイト (www.php.cn) に注意してください。



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