header('Content-Type: text/html; charset=utf-8');
echo '
'; <br>function var_array($array) <br>{ <br>var_dump ($array); <br>echo '
'
}
function printr($array)
{
print_r($array); ';
}
関数 getArr($sNum, $eNum=1, $step=1)
$arr = range($sNum, $eNum, $step);
$reArr = array(); $arr として $v)
{
$reArr[$v] = rand(0,10)
}
return $reArr;
/**
* 配列配列の演習
*/
/ /--------------------------------------------
//array_change_key_case () 最後のパラメータによって決定される、配列インデックスの大文字と小文字を変更します: CASE_UPPER (大文字に変換)、CASE_LOWER (デフォルトでは小文字)
$expArr = array(
'fiRsT' => '1',
'sEcoNd ' => '2',
'ThIrd' => array(
'HuiMa' => '3',
'nengZhuaNma' => '5',
)
printr(array_change_key_case); ($ expArr));//すべてを小文字に変換します
printr(array_change_key_case($expArr['ThIrd'], CASE_UPPER));//すべてを大文字に変換します $expArr 配列内のインデックス キーのみを変換します
//概要:この関数は配列の 1 つのレベルにのみ影響します。 元の配列には影響しません
echo '
'; -----------------------------
//array_chunk($array, $size, false)
//配列を A に分割多次元配列、size はこの配列が $size ごとにどのように多次元配列になるかを決定し、true/false は新しい配列のキー値が元の配列のキーを継承するかどうかを決定します
$expArr = array('4 ','2','6', 'd','2');
printr(array_chunk($expArr, 3));
//概要: この関数は配列の 1 つのレベルにのみ影響します。 元の配列には影響しません
echo '
'; -----------------------------
//array_combine($keyArr, $valArr)
//2 つの配列を 1 つの配列に結合します。キーとして $keyArr、値として $valArr
$expKey = array('g', 'd', 't');
$expVal = array('5', '8', '7'); array_combine($expKey, $expVal));
//この関数も配列の 1 つのレベルにのみ影響し、新しい配列を返します
echo '
' ;
//------------------------------------------ ---
//array_count_values($array)
//$array 配列内の各値の出現数をカウントし、各値を新しい配列のキーとして使用し、出現数を値として使用します
$array = array(' v1'=>'265'、'v2'=>'352'、'v3'=>'265'、'v4'=>'349'、'v5'=>'265');
printr(array_count_values($array));
//概要: この関数は文字列型と整数型の統計値にのみ使用できます。他の型では警告が発行されます。
エコー '
';
//-------------------------- ----------
//array_diff($array1, $array2...)
//$array1 を基本配列として使用すると、その値は他のパラメータ配列の値は新しい配列を形成します
$arr1 = array('v4'=>458, 'gren', 'b5', 'a5');
$arr2 = array('v4') => ;598, 'red', 'a5', 'c4');
printr(array_diff($arr1, $arr2));
//概要: 配列を取得し、それを多数の配列に入れて、配列、統計、およびデータ比較にない値を使用する必要があります
//array_intersect($array, $parArr, ....)
//この関数は、array_intersect() を除き、機能的には array_diff と同じですarray_diff は共有データを返しますが、これは $array にのみ存在するデータです
//
echo '
';
//------ ------ ----------------------------------
//array_diff_assoc($array1, $array2 ...)
// array_diff() 関数と同じですが、これも比較にキーを使用します
//
echo '
'; //------ -------------------------------------
//array_diff_key
//array_diff() 関数と同じ
//これは、$array1 のキーを使用して他のパラメータ配列を検索するだけです
//
echo '
' ;
//--- ----------------------------------------
//array_diff_uassoc($arr1, $parArr...., callback function)
//関数は array_diff() と同じですが、ユーザーはコールバック関数を定義する必要があります
//の関数がわかりませんこの関数
//
echo '
';
//------------------- ------ --------
//array_diff_ukey($arr1, $parArr...., コールバック関数)
//関数はarray_diff_key() と同じですが、array_diff_uassoc と同様にコールバック関数が必要です
//
//
echo '
';
//-- -------------------- -----------------------
//array_fill($startInt , $numInt, $value)
//$value を新しい配列に埋め込みます, new 配列の開始インデックス位置は $startInt によって決定され、$numInt はこの配列に対して生成されるインデックスの数を制御します。
//ヒント: $value、$startInt、$numInt は数値である必要があります。そうでない場合はエラーが報告されます
printr(array_fill(2, 5, 'value'));
//要約:何に使うかまだ考えてません
echo '
';
//----------------- --------- ------------------
//array_fill_keys($arrKeys, $value);
//関数は array_fill( ) 関数。ただし、ここでは $arrKeys [配列の値] が新しい配列のキーとして使用されます
$arrKeys = array('45', 'd', 'b', 'c');
printr(array_fill_keys($arrKeys) , '値'));
エコー '
'; - -----------------------------
//array_filter($arr, callBack コールバック関数)
//ペアリングによるフィルター関数$arr 配列 値の判定、callBack コールバック関数が true を返した場合、現在のキーと値が新しい配列に追加されます
//ヒント: コールバック関数は、そうでない配列キーをフィルターで除外するルールを作成できます。ルールに従います
function cb( $val)
{
return $val%2 == 0;
}
$array = array('k1'=>3, 'k2'=>5,'k4' =>54654, 'k5' =>8794, 8945, 32549564);
printr($array, 'cb');
//ヒント: コールバック関数名は引用符で囲むことをお勧めします
//概要: このメソッドはデータ フィルタリングの統合に使用できます
unset($array)
echo '
'; -------------- -----------------------------
//array_flip($array )
//配列内のキーと値の関係を変換します。文字列および統合型のキーのみがサポートされており、他の型については警告が発行され、問題のキー値は変換されません。生成された新しい配列では、キーが同じ場合、既存のキーの値が継続的に置き換えられます
$arr = array('k1'=>'v1', 'k2'=>'v2' , ' k3'=>'v4', 'k4'=>'v4', 'k5'=>'v5');
unset($arr); echo '
'; - ------------------
//array_key_exists($key, $array)
//現在の配列にキーが存在するかどうかを判断し、bool を返します。オブジェクトを決定するためにも使用できます
$array = array('cb' => 234, 'dv'=>45, 'one'=>897);
if(array_key_exists('one', $array) ))
echo 'この配列には存在します';
else
echo '存在しません';
//--- --- -------------------------------------
//array_keys($array, $selSearch_value )
//配列内のキー名を返し、新しい配列を形成します。$selSearch_value が指定されている場合、$selSearch_value に等しい配列内のキー名が返されます
$array = getArr(4, 10); (array_keys($array ));
printr(array_keys($array, '5'));//value で検索
unset($array);
//概要: データの統計、データの比較にも使用できます。そして検証
エコー '
'; ---------- ----------------
echo 'array_map:'
//array_map('callBack', $array,...)
//渡された関数を返す コールバック関数の戻り値
//コールバック関数は配列を返すこともできます。さらに、コールバック関数は
function mapCb($n)
{
return $n*$n*$n
}
$array = getArr(4, 15); に渡される配列の値のみを受け入れます。 printr(array_map ('mapCb', $array));
echo '
'; --------------- -----------------------------
//array_merge ($array,$array2...)
//さらに多くの配列を配列に変換し、数値インデックスを書き換えます。
$arr1 = getArr(1, 5);
$arr2 = getArr(5, 10);
printr(array_merge($arr1, $arr2));
//概要: 複数の配列を新しい配列に結合します。
エコー '
';
//-------------------------- ----------
//array_merge_recursive($arr1, $arr2....)
//関数は上記と同じです。ただし、この関数は、値を置き換えるのではなく、同じキー名の値を持つ新しい配列を形成します
//ただし、使用したい場合は、実際の状況に応じて使用してください
echo '
< hr/>
//----------------------------------- --------------- -
//array_multisort()
//多次元配列のソート。現在は 2 次元配列のソートのみが実装されています。三次元推定はできません
//この関数はメンバー配列の順序を直接変更します
echo '
'; ------ ------------------------------------
//array_pad($arr, $size, $value)
//$arr の現在の長さが $size より小さい場合は、$arr の長さが $size に等しくなるまで $arr 配列に $value を埋めます
//If $arr の長さが $size 以上の場合、関数は $arr を埋めません。 $size が 0 より小さい場合は $arr の左側に埋められ、0 より大きい場合は右側に埋められます
echo '
';
//-------- ----------------------------- ------
//array_pop($array)
//配列の最後のキーを削除します。
エコー '
';
//-------------------------- ----------
//array_product($arr)
//配列内のすべての値の積を返します。
//ヒント: この関数は数値以外のデータを処理できません。受信した配列に「a、b、およびその他の文字列」が含まれている場合、php はエラーを報告します
$arr = array(4,5,5);
echo '
//--------------------------------- ------------
//array_push($arr, $keyArr)
//$keyArr を $arr 配列の末尾に key/stack の形式で追加します。
//array_merge() と array_merge_recursive() の違い:
// arrap_push() は $keyArr を $arr に追加しますが、他の 2 つの関数は複数の関数を 1 つの関数に接続します
echo '
< hr/>
';
//--------------- -------- ----------
//array_rand($arr, $num=1)
//現在の配列内のキーを取得します。その数は $num によって決まります。デフォルトは 1 です
/ /$num が 1 の場合、文字列を返します
//$num>1 && $num
//それ以外の場合、php はエラーを報告します
$arr = getArr ( 5, 15);
printr(array_rand($arr, 4));
echo '
'; --------------------------------------
//array_reduce()
//and array_map ( ) も同様で、コールバック関数を通じて、配列内の値が処理され、戻り値が受け入れられます
//この関数は文字列を返します。これは配列内のすべての値を計算して計算値を返しますが、array_map は各キーの値を計算して配列を返します
//あまり明確ではないので、例についてはマニュアルを参照してください
echo '< ;
//-------------------------------- ----------------
//array_replace($array, $parArr,...)
//$array 内の同じキーの値をキーの値に置き換えますパラメータ配列内
// $array 配列の後続のパラメータ配列で対応するキーが見つからない場合は、それを新しい配列の末尾に追加します
/*$arr = getArr(4, 10); arr2 = getArr(6, 15);
printr($arr2);*/
$base = array('citrus' => array( "orange") , 'berries' => array("ブラックベリー", "ラズベリー" ), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); ($base, $replacements));
echo '
'; --------- ---------------------
//array_replace_recursive() 再帰置換
//関数は array_replace() と同じです。違いは、array_replace_recursive() は $array の構造を変更せずに多次元配列を操作できるのに対し、array_replace() は最終的に 1 次元配列を返すことです
$base = array('citrus' => array( "orange ") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('ブルーベリー' ));
printr(array_replace_recursive($base, $replacements));
echo '
'; -- --------------------------------------
//array_reverse($arr)
//配列を返します 内のキーは逆順に配置されます
echo '
';
//----------- ------ ----------------------------
//array_search($value, $array)
// $array配列内の値 $valueのキー名です
//見つからない場合はfalseを返します
//$array配列内に複数の$valueがある場合は、最初に一致したキーのみが返されます
/ /この関数は array_keys() に似ていますが、異なる点は、戻り値: array_search() は一致するキー名のみを返すのに対し、array_keys() は一致するすべてのキーで構成される 1 次元配列を返すことができることです
echo '
';
//---------------------------- ---------- -----
//array_shift($arr)
//現在の $arr 配列の最初のキーを削除し、次の数値インデックスを再配置します (ただし、元のインデックスは変更しません)順序)、数値以外のインデックスは変更されません。
//この関数は array_pop() に似ていますが、array_pop() は最後の関数を削除し、array_shift() は先頭を削除する点が異なります
echo '
//------------------------------------------ ----
// array_slice($arr, $offset, $length=0, false) 配列インターセプト
// 現在の $arr 配列内の $offset から始まるオフセット、合計 $length 要素/キーを返します。新しい配列を形成して返します
/ /$offset または $length が負の数の場合、オフセットは逆方向になります
//substring() の文字列インターセプトに似ています
// PHP マニュアル
$input = array("a" , "b", "c", "d", "e");
$output = array_slice($input, 2); // を返します。 "、および "e"
$output = array_slice ($input, -2, 1); // "d" を返します
$output = array_slice($input, 0, 3); // "a"、"b を返します"、および "c"
// 配列キーの違いに注意してください
printr(array_slice($input, 2, -1));
printr(array_slice($input, 2, -1, true));
echo '
'; -------------- --------
//array_spslice($arr, $offset, $length)
//array_slice() 関数の逆です。関数は $offset と $length の間の要素を削除します
unset( $arr);
echo '
';
//------ ------------------- ------------------------
//array_sum( $arr)
//$arr 配列内のすべての値を合計して累積します。非数値型の場合は変換を試みますが、ほとんどの変換は 0 です
//この関数は 1 つのみに影響しますarray_product() と同様の配列のレイヤー
$arr = array(
45,56, 'a', ' b'=>getArr(1, 2),
echo '; array_sum($arr)',array_sum($arr);
echo '
'; ------------------------- ---------
//array_values($arr)
//値を抽出する$arr 配列内で新しい配列を形成します
$arr = array(
'k1'=>45,' k2'=>56, 'k3'=>'a', 'b'=> ;getArr(1, 2),
);
printr(array_values($arr));
echo '
'; -------------------------------------------------
// array_unique($arr) 配列の重複を排除します
//$arr 配列の重複を排除し、重複する値をフィルターします。複数の同一の値は、最初の
echo '
' のみを保持します
//------------- - -----------------------------
//array_walk($arr, callback[コールバック関数], $sel_perfix=' ' )
//現在の配列内の各キーを処理のためにコールバック関数に送信します
//$sel_perfix パラメーターを追加する場合、コールバック関数は受け取るために 3 つのパラメーターも必要です。そうでない場合はエラーが報告されます
//この関数のみ1 つのレイヤーに影響します
$fruits = array("d" => "レモン", "a" => "オレンジ", "b" => "バナナ", "c" => "リンゴ");
関数 test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1"
}
printr(array_walk($fruits, 'test_print')); ' test_alter', 'fruit');
echo '
'; - -----------------------------
//array_walk_recursive()
//関数は array_alk() に似ていますが、 be recursive$ arr の配列の各レベルで、返された配列は元の配列の構造を変更しません
echo '
'; ---- --------------------------------------
//arsort($ arr)
/ / 配列のキー名に従って配列を並べ替えると、配列をアルファベット順に並べ替えることができます。ソートに失敗した場合は null が返されます
echo '
'; - ----------------------------
//asort()
//この関数は arsort() に似ていますが、違いは次のとおりです。 : asort() は値をソートします
http://www.bkjia.com/PHPjc/325462.html
www.bkjia.com
true