検索

PHP配列の勉強メモ

Dec 17, 2016 am 09:20 AM

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


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)
//配列を多次元配列に分割する、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') ; ($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...., コールバック関数)
//関数は array_diff() と同じです。ただし、ユーザーがコールバック関数を定義する必要があります
//この関数の機能がわかりません
//
echo '


'; -------- -------------------------------------
//array_diff_ukey( $arr1, $parArr... ., コールバック関数)
//この関数は array_diff_key() と同じですが、array_diff_uassoc と同様にコールバック関数が必要である点が異なります
//
//
echo '

//-------------------------------- ------------------ -
//array_fill($startInt, $numInt, $value)
//$value を新しい配列に埋めます。新しい配列は $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'); , '値'));
エコー '


'; - ------------------------
//array_filter($arr, callBack コールバック関数)
//$arr をペアにすることによるフィルター関数配列 値を判断し、callBack コールバック関数が true を返した場合、現在のキーと値が新しい配列に追加されます
//ヒント: コールバック関数は、規則に準拠しない配列キーをフィルターで除外する規則を作成できます。
関数 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'));//値で検索
unset($array);
//概要: データ統計、データ比較にも使用できます。と検証
echo '


'; ---------- ----------------
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...)
// 複数の配列を 1 つの配列に結合し、数値インデックスを書き換えます。
$arr1 = getArr(1, 5);
$arr2 = getArr(5, 10);
printr(array_merge($arr1, $arr2));
//概要: 複数の配列を新しい配列に結合します。
エコー '


';
//-------------------------- ----------
//array_merge_recursive($arr1, $arr2....)
//関数は上記と同じです。ただし、この関数は、値を置き換えるのではなく、同じキー名の値を持つ新しい配列を形成します
//ただし、使用したい場合は、実際の状況に応じて使用してください
echo '

//----------------------------------- --------------- -
//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 '

';
//--------------- -------- ----------
//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($arr);*/
$base = array('citrus' => array( "orange") , 'berries' => ; array("ブラックベリー", "ラズベリー" ), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); array_replace($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 ('パイナップル'), 'ベリー' => array('blueberry'));
printr(array_replace_recursive($base, $replacements)); br/>';
//---------------------------------------- - ---
//array_reverse($arr)
//配列内のキーを逆順に配置します
echo '


';
// - ----------------------------------------
//array_search( $ value, $array)
// $array 配列内の値 $value を持つキー名を検索します
// 見つからない場合は false を返します
// $array 配列の後ろに複数の $value がある場合、最初の関数は一致するキーを返します
//この関数は array_keys() に似ていますが、違いは戻り値にあります。array_search() は一致するキー名を 1 つだけ返しますが、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) Array 配列
//Array $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', 'フルーツ');
エコー '


'; -----------------------------
//array_walk_recursive()
//関数は array_alk() に似ていますが、 recursive$ arr の配列の各レベルで、返される配列は元の配列の構造を変更しません
echo '


'; --- --------------------------------------
//arsort($arr )
/ / 配列のキー名に従って配列を並べ替えると、配列をアルファベット順に並べ替えることができます。ソートが失敗した場合は、null が返されます
echo '


';
//--------------- -- ----------------------------
//asort()
//この関数は arsort() に似ていますが、違いはありますは: asort() 値を並べ替えることです

上記は、PHP 配列学習ノートの内容です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


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

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPセッションに保存されているすべての値をどのようにループしますか?PHPセッションに保存されているすべての値をどのようにループしますか?Apr 26, 2025 am 12:06 AM

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

ユーザー認証にセッションを使用する方法を説明します。ユーザー認証にセッションを使用する方法を説明します。Apr 26, 2025 am 12:04 AM

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

PHPセッションにユーザーの名前を保存する方法の例を挙げてください。PHPセッションにユーザーの名前を保存する方法の例を挙げてください。Apr 26, 2025 am 12:03 AM

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPセッションを失敗させる可能性のあるいくつかの一般的な問題は何ですか?PHPセッションを失敗させる可能性のあるいくつかの一般的な問題は何ですか?Apr 25, 2025 am 12:16 AM

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッション関連の問題をどのようにデバッグしますか?PHPでセッション関連の問題をどのようにデバッグしますか?Apr 25, 2025 am 12:12 AM

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()が複数回呼び出されるとどうなりますか?session_start()が複数回呼び出されるとどうなりますか?Apr 25, 2025 am 12:06 AM

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでセッションのライフタイムをどのように構成しますか?PHPでセッションのライフタイムをどのように構成しますか?Apr 25, 2025 am 12:05 AM

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!