添字: 配列内の識別名。配列内の文字列または整数のコード名です。複数のインデックス値を持つ配列は、複数次元配列と呼ばれます。
インデックス値: インデックスは、データベーステーブル内の 1 つ以上の列の値を並べ替える構造です。
配列の分類
PHP の配列は 2 つのタイプに分類されます:
インデックス付き配列: インデックス付きインデックス値は 0 から始まる整数です。インデックス付き配列は、位置によって物を識別するときに使用されます。
連想配列: 連想配列では文字列をインデックス値として使用し、インデックス値は列名であり、列データにアクセスするために使用されます。
配列には通常、値が割り当てられます。
一般に、配列に値を割り当てる方法は 2 つあります。
$a[1]="dsadsadsa";
$b[2]="dsadsadsad"; function:
$a= array("dsads","dsadsa",321312);
1 次元配列: 配列のインデックス値 (添字) が 1 つだけの場合、それは 1 次元配列と呼ばれます。
配列の直接割り当ての形式:
$Array 変数名 [インデックス値] = データの内容;
注: インデックス値は文字列または整数にすることができますが、1 と "1" は整数に属します。もう一方は文字列に変換されます。
インデックス値のない同じ名前の配列が順番に配置されます。
例:
$a=array(1,2,3,4,5,6);
$b=array("one", "two", "three"); array(0=>"aaa",1=>"bbb",2=>"ccc");
$d=array("aaa",6=>"bbb","ccc");
$e=array("name"=>"zhang", "age"=>20);
?>
多次元配列の形式:
$a[0][] ="dsadas ";
$a[0][]="dsadsa"; このグループは $a のインデックス値 0 の下にあります。
配列関数を使用して次のように形式を宣言する場合: array("dsadsa"," dsadas",21,array("dsadsa","dsadas"));
配列トラバーサル
foreach ループ構造:
foreach は 2 つの形式のみを使用します: 配列ループ
foreach(array_exprssion(arrayexpression) as $value) ;
foreach(array_exprssion(arrayexpression) 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)){
$ key++;
echo $key."=>".$value;
echo "
";
出力結果: 1=>1 2=>2 3=>3 4=>4 5=>5 6=>6 7=>7 8=>8 9=>9
reset() 配列ポインタのリダイレクト
each() の実行後、配列ポインタは、配列の次の要素、または配列の終わりに達したときの最後の要素に留まります。
is_array は変数が配列であるかどうかを検出し、true または false を返します。
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(): return array
$transport = array('foot', 'bike', 'car', 'plane'); // $mode = 'foot'; ($transport); // $mode = 'バイク'; // $mode = 'バイク'; // $mode = ' 足';
$mode = end($transport); // $mode = 'plane';
現在の値を返す例に注意してください。配列内の値 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);
出力結果: Array ( [0] =>配列 ( [0] => 1 [1] => 2 [2] => 3 ) [1] => 配列 ( [0] => 4 [1] => 5 [2] = > 6 ) )
つまり、配列ユニットの数の合計を 3 で割ったものです
array_count_values
array_count_values は、ターゲット配列内の各値の出現数を計算するために使用されます
構文形式: 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)