実行結果:
配列 ( [0] => 0 [1] => 40 [2] => 80 [3] => 120 [4] => 160 )
注: array_unshift() 関数を使用すると、配列のキー値は 0 から始まります。
配列メンバーを削除します
例 1: unset() コマンドは配列メンバーまたは配列を削除します:
コードは次のとおりです |
コードをコピー |
$num = array_fill(0,5,rand(1,10));
print_r($num);
エコー " ";
unset($num[4]);
print_r($num);
エコー " ";
設定を解除($num)
if(is_array){
echo "unset コマンドは配列全体を削除できません";
}その他{
echo "unset コマンドは配列を削除できます";
}
?>
実行結果: (実行エラーと説明配列も削除され、存在しなくなります)
配列 ( [0] => 9 [1] => 9 [2] => 9 [3] => 9 [4] => 9 )
配列 ( [0] => 9 [1] => 9 [2] => 9 [3] => 9 )
注意: 未定義の定数 is_array の使用 - H:wampwwwtestingeditorplustest.php の 21 行目で 'is_array' とみなします |
unset コマンドでは配列全体を削除できません
例 2: array_splice() 関数は配列メンバーを削除します
コードは次のとおりです
コードをコピー
$a=array("赤"、"緑"、"青"、"黄");
count ($a); // 4 を取得します
array_splice($a,1,1); // 2 番目の要素を削除します |
count ($a); // 3 を取得します
echo $a[2] // 黄色を取得します |
echo $a[1] //青になる ;
?>
例 3: array_unique は配列内の重複した値を削除します:
コードは次のとおりです
| コードをコピー
$a=array("赤", "緑", "青", "黄","青","緑");
$result = array_unique($a);
print_r($result);
?>
|
|
実行結果:
配列 ( [0] => 赤 [1] => 緑 [2] => 青 [3] => 黄 )
例 4: array_merge、array_merge_recursive 配列のマージ
コードは次のとおりです
コードをコピー |
$array1 = array("r"=>"red",1,2,3,4);
$array2 = array("b"=>"blue",4=>5,6,7,8,9);
$array3 = array("r"=>"read",4=>10,2=>11);
$array4 = 配列(
配列(4=>10)、
配列(7=>13)
);
$array5 = 配列(
配列(4=>11)、
配列(6=>12) |
);
$result = array_merge($array1,$array2,$array3,$array4,$array5);
エコー "";
print_r($result);
エコー " ";
$result = array_merge_recursive($array1,$array2,$array3,$array4,$array5);
エコー "";
print_r ($result);
エコー " ";
?>
|
実行結果:
配列
(
[r] =>読んでください
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[b] =>青
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
[10] => 11
[11] =>配列
(
[4] => 10
)
[12] =>配列
(
[7] => 13
)
[13] =>配列
(
[4] => 11
)
[14] =>配列
(
[6] => 12
)
)
配列
(
[r] =>配列
(
[0] =>赤
[1] =>読んでください
)
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[b] =>青
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
[10] => 11
[11] =>配列
(
[4] => 10
)
[12] =>配列
(
[7] => 13
)
[13] =>配列
(
[4] => 11
)
[14] =>配列
(
[6] => 12
)
)
注:1. array_merge の関数名は、数字のインデックスを再構築するもので、同じ文字列名が見つかった場合に後続で前に上書きされます。
6. 数組の鍵の値と値の操作
例一:in_array() 检测数グループの中に何かが存在するかどうか
代码如下
| 复制幣
|
$array = 範囲(0,9);
if(in_array(9,$array)){
echo "数组中に存在";
}
?>
|
运行結果:数组中存在
例二:key() 取得数グループ現在の键名:
代码如下
| 复制幣
|
$array = 範囲(0,9);
$num = ランド(0,8);
その間($num--)
次($array);
$key = キー($array);
エコー $key;
?>
|
この例の結果は、範囲 (0 ~ 8) であり、結果の表示ではありません。
例 3:list() 関数数握数グループ中の值赋给指定变量:
代码如下
复制幣 |
|
$staff = array(
array("姓名","性别","年龄"),
array("小张","男",24),
array("小王","女",25),
array("小李","男",23)
);
echo "";
while(list($keys,$value) = each($staff)){
リスト($name,$性別,$年齢) = $値;
echo "$name | $sex | $age | ";
}
echo " ";
?>
|
例 4: array_flip() は配列のキーと値を交換します:
コードは次のとおりです |
コードをコピー |
$array = array("赤","青","黄","黒");
print_r($array);
エコー " ";
$array = array_flip($array);
print_r($array);
?>
実行結果:
配列 ( [0] => 赤 [1] => 青 [2] => 黄 [3] => 黒 ) |
配列 ( [赤] => 0 [青] => 1 [黄] => 2 [黒] => 3 )
コードは次のとおりです
コードをコピー
|
$array = array("赤","青","黄","黒");
$result = array_keys($array);
print_r($result);
エコー " ";
$result = 配列値($array);
print_r($result);
?> |
実行結果:
配列 ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )
配列 ( [0] => 赤 [1] => 青 [2] => 黄 [3] => 黒 )
例 6: array_search() 検索値:
コードは次のとおりです |
コードをコピー
$array = array("赤","青","黄","黒");
$result = array_search("red",$array);
if(($result === NULL)){
echo "値 red は存在しません";
}その他{
echo "値が存在します $result";
}
?> |
|
結果: 値 0 が存在します
array_search()関数の戻り値はfalse、0、NULLの場合がありますので、判断する際は「===」 を使用するように注意してください。
7. 配列のソート
例 1: sort()、rsort()/asort()、arsort() による配列の並べ替え:
コードは次のとおりです
コードをコピー
|
$array = array("b","c","d","a");
sort($array);//低い順に並べ替えます
print_r($array);
エコー " ";
rsort($array);//逆ソート
print_r($array);
?>
結果: |
配列 ( [0] => a [1] => b [2] => c [3] => d )
配列 ( [0] => d [1] => c [2] => b [3] => a ) |
sort() 関数と rsort() 関数は配列を低位から高位にソートし、戻り値は bool 値です。
asort() 関数と arsort() 関数はキー値の並べ替えを保持し、並べ替え後にキー値のインデックスは再作成されません。
例 2: 配列の順序を乱す - shuffle() 関数:
コードは次のとおりです
コードをコピー
$array = array("a","b","c","d");
shuffle($array);//低い順に並べ替えます |
print_r($array);
?>
結果は動的です:
配列 ( [0] => c [1] => a [2] => d [3] => b )
シャッフルの結果は少しランダムで、更新されるたびに異なります。
例 3: array_reverse() 配列の反転:
コードは次のとおりです |
コードをコピー |
$array = array("d","b","a","c");
$array = array_reverse($array);// 低い順に並べ替えます
print_r($array);
?>
|
実行結果:
配列 ( [0] => c [1] => a [2] => b [3] => d )
例 4: 自然な並べ替えアルゴリズム - natsort() および natcasesort();
コードは次のとおりです
コードをコピー |
|
$array = array("sort2","sort5","sort1","sort4");
natsort($array);//低い順に並べ替えます
print_r($array);
エコー " ";
natcasesort($array)
print_r($array);
?>
結果:
配列 ( [1] => ソート 5 [2] => ソート 1 [0] => ソート 2 [3] => ソート 4 )
配列 ( [2] => ソート 1 [0] => ソート 2 [3] => ソート 4 [1] => ソート 5 )
natsort() および natcasesort() は、配列に対して自然なソートを実行します。これは、数値を使用する通常のソート アルゴリズムです。 natcasesort は大文字と小文字を区別しません。
例 5: 配列をキー値でソートする ksort():
コードは次のとおりです
コードをコピー
|
$array = array(1=>"ソート 2",4=>"ソート 5",2=>"ソート 1",3=>"ソート 4");
ksort($array);//低い順に並べ替えます
print_r($array);
?>
結果:
配列 ( [1] => ソート 2 [2] => ソート 1 [3] => ソート 4 [4] => ソート 5 )
注: ksort() 関数はインデックスを再作成します。
8. 配列のその他の使用法 |
$
コードは次のとおりです
コードをコピー
配列 = 配列 ('A', 'B', 'C' );
// int array_unshift(array $array,混合変数[,混合変数...]) を使用して、配列の先頭に要素を追加します
array_unshift ( $array, 'E', 'F', 'G' );
var_dump ( $array );
|
$array = 配列 ('A', 'B', 'C' );
// int array_push(array $array,混合変数[,混合変数...]) を使用して、配列の最後に要素を追加します |
array_push ( $array, 'E', 'F', 'G' );
var_dump ( $array );
$array = 配列 ('A', 'B', 'C' );
//mixed array_shift(array $array) を使用して配列の先頭の要素を削除します
配列シフト ( $array );
var_dump ( $array );
$array = 配列 ('A', 'B', 'C' );
//mixed array_pop(array $array) を使用して配列の末尾の要素を削除します
array_pop ( $array );
var_dump ( $array );
/*
* 配列内の特定の値を検索し、見つかった場合は TRUE を返し、それ以外の場合は FALSE を返します
* boolean in_array(混合針,配列干し草[,ブール値厳密])
* 配列内で指定されたキーを検索し、見つかった場合は TRUE を返し、そうでない場合は FALSE を返します
* ブール値 array_eky_exists(混合キー,配列配列)
* 配列内の特定の値を検索し、見つかった場合は TRUE を返し、それ以外の場合は FALSE を返します
* boolean array_search(混合針,配列干し草[,ブール厳密])
* 配列のすべてのキーで構成される新しい配列を取得します
* 配列 array_keys(配列 array[,混合検索値])
* 配列のすべての値で構成される新しい配列を取得します
* 配列 array_values(配列 配列)
* 配列サイズを決定する
* 整数カウント(配列 array[,int モード])
* 整数 sizeof(配列 array[,int モード])
* 配列要素の出現頻度をカウントします
* 配列 array_count_values(配列 配列)
* 配列から重複した値を削除し、一意の値で構成される配列を返します
* 配列 array_unique(配列 配列)
* 配列要素の順序を逆にします。preserve_key が TRUE の場合、配列キー値の順序は変更されません
* 配列 array_reverse(array array[,boolean prepare_key])
* 配列のキーと値を置き換えます
* 配列 array_flip(配列 配列)
* 配列の順序ソート、sort_flags パラメーターはオプション、デフォルトの動作
* SORT_NUMBERIC、数値による並べ替え、整数または浮動小数点数の並べ替えに役立ちます
*SORT_REGULAR、ASCII 値で並べ替えます
*SORT_STRING、最も近い人が知っている正しい順序で並べ替えてください
※asort関数のキー値の順序は変わりません
* void sort(array array[,int sort_flags])
* void asort(array array[,int sort_flags])
* 配列を逆順に並べ替えます。sort_flags パラメーターはオプションで、デフォルトの動作は
* SORT_NUMBERIC、数値による並べ替え、整数または浮動小数点数の並べ替えに役立ちます
*SORT_REGULAR、ASCII 値で並べ替えます
*SORT_STRING、最も近い人が知っている正しい順序で並べ替えてください
※arsort関数のキー値の順序は変わりません
* void rsort(array array[,int sort_flags])
* void arsort(array array[,int sort_flags])
* 配列の自然なソート
* void natsort(配列配列)
* 大文字と小文字を区別しない自然な並べ替え
* void natcasesort(array 配列)
* 配列をキー値で並べ替えます
* boolean ksort(array array[,int sort_flags])
* 配列をキー値によって逆順に並べ替えます
* boolean krsort(array array[,int sort_flags])
* ユーザー定義の順序に従って並べ替えます
* void usort(配列 配列,コールバック関数名)
* 配列を結合して、結合された配列を返します。 array_merge の背面が前面を覆い、array_merge_recursive が一緒にマージします
* array array_merge(array array1[array array2...])//複数
* array array_merge_recursive(array array1,array array2[,array…])//2 つ以上
* キーと値は新しい配列を形成します
* 配列 array_combine(配列キー, 配列値)
* オフセットから始まりオフセット+長さで終わる配列の一部を返します
* 配列 array_slice(配列 配列, int オフセット [,int 長])
* offset から始まり offset+length で終わるすべての要素を削除し、削除された要素を配列の形式で返します
* array array_splice(array, int offset [,int length[,array peplacement]])
* 配列の共通部分を見つけます。キー値は最初の配列のキー値です
* 配列 array_intersect(配列 配列1,配列 配列2[,配列N……])
* 等しいキー値を含む配列の共通部分を見つけます。そのキー値は最初の配列のキー値です
* 配列 array_intersect_assoc(配列 配列1,配列 配列2[,配列N……])
* 配列の差分セットを見つけます。最初の配列には他の配列では見つからない値があります
* 配列 array_diff(配列 配列1,配列 配列2[,配列N……])
* 配列の差分セットを見つけます。最初の配列には、他の配列では見つからない値に等しいキー値が含まれています
* 配列 array_diffassoc(配列 配列1,配列 配列2[,配列N……])
* 配列内の 1 つ以上のキー値を返します
* 混合 array_rand(array array[,int num_entries])
*インスタントシャッフル機能
* void shuffle(array input_array)
* 配列内の値を合計します
* 混合 array_sum(配列 配列);
* 配列を size 要素を含む多次元配列に分解します
* array array_chunk(array 配列, int サイズ [,boolean prepare_keys])
*/
|
http://www.bkjia.com/PHPjc/632681.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632681.html技術記事 php の配列はアプリケーション開発に不可欠な部分です。ここで、php 配列の学習に関する私自身の操作をいくつか紹介します。詳しく知りたい学生が参加できることを願っています。
|