目次
配列のキー/値操作関数、配列関数
キーボードから n 個の整数を配列に読み取り、関数 CompactIntegers を書き込みます。配列内の値が 0 のすべての要素と、配列の後続の要素を削除します
シャッフル関数を使用してPHP配列をシャッフルした後、重複した値が異なるキーに表示されます
ホームページ バックエンド開発 PHPチュートリアル 配列のキー/値操作関数、配列関数_PHP チュートリアル

配列のキー/値操作関数、配列関数_PHP チュートリアル

Jul 13, 2016 am 10:21 AM
価値 要素 関数 存在する 操作する 配列 構成 アクセス 合格

配列のキー/値操作関数、配列関数

PHPでは、配列の各要素はキー/値で構成されており、要素のキーを通じて対応するキーの値にアクセスします。 「連想配列」とは文字列のキー名を持つ配列を指し、「インデックス」と「キー名」は同じものを指します。 "index" 多指数配列の数値添え字。配列処理関数を使用すると、配列内の各要素のキーと値を簡単に操作して、新しい配列を生成できます。

①関数array_values()

array_values() 関数は、配列内のすべての要素の値を返します。使い方は非常に簡単です。必須パラメータは 1 つだけで、指定された配列が渡され、指定された配列内のすべての値を含む配列が返されることを指定します。ただし、キー名は保持されず、返された配列は、0 から始まり 1 ずつ増加する連続した数値キーを使用して再インデックスされます。これは、配列内にカオス要素を含む配列に適しているか、または連想配列をインデックス付き配列に変換できます。コードは次のようになります:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php $contact = array( "ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市", "电话" => "(010)98765432" );//array_values()函数传入数组$contact 重新索引返回一个新数组print_r(array_values($contact)); print_r($contact); //原数组$contact内容元素不变 ?>

プログラムを実行した結果は次のとおりです:
Array([0]=>1 [1]=>Gao[2]=>Company A[3]=>Beijing City[4]= > ;(010)98765432)
Array([ID]=>1 [名前]=>高 [会社]=>A社 [住所]=>北京 [電話]=>( 010)98765432 )

②関数array_keys()

array_keys() 関数は、配列内のすべてのキー名を返します。この関数には 1 つの必須パラメーターと 2 つのオプションのパラメーターがあります。その関数のプロトタイプは次のとおりです。

array array_keys(array input[,mixed search_value[,bool strict]]) オプションのパラメータ search_value が指定されている場合は、指定された値のキー名のみが返されます。それ以外の場合は、入力配列内のすべてのキー名が返されます。戻ってきた。 PHP5 以降では、strict パラメーターを使用して一致比較を実行できます。ブール値を渡す必要があります。FALSE がデフォルト値であり、タイプには依存しません。 TRUE 値が渡された場合、型に応じて、指定された値を持つキー名が返されます。関数 array_keys() で使用されるコードは次のとおりです:

1 2 3 4 5 6 7 8 9 10 11 12

③関数in_array()

in_array() 関数の機能は、配列内に特定の値が存在するかどうかを確認すること、つまり、配列内で特定の値を検索することです。この関数には 3 つのパラメータがあり、最初の 2 つのパラメータは必須で、最後のパラメータはオプションです。その関数のプロトタイプは次のとおりです:

bool in_array(混合針,配列干し草[,bool strict])

最初のパラメータneedeは配列内の検索する値を指定し、2番目のパラメータhaystackは検索する配列を指定します。指定された値needleが配列haystackに存在する場合、TRUEが返されます。 3 番目のパラメーターが TRUE に設定されている場合、関数は要素が配列内に存在し、指定された値と同じデータ型を持つ場合にのみ TRUE を返します。パラメータが配列内に見つからない場合、関数は FALSE を返します。 neede パラメータが文字列で、strict パラメータが TRUE に設定されている場合、検索では大文字と小文字が区別されることに注意してください。関数 array_keys() で使用されるコードは次のとおりです:

<?php $lamp = array("a"=>"Linux","b"=>"Apache","c"=>"MySQL","d"=>"php"); print_r(array_keys($lamp)); //输出Array([0]=>a [1]=>b [2]=>c)print_r(array_keys($lamp,"Apache")); //使用第二个可选参数输出:Array([0]=>b) $a = array(10,20,30,"10"); //声明一个数组,其中元素的值有整数10和字符串"10"print_r(array_keys($a,"10",false)); //使用第三个参数(false)输出:Array([0]=>0 [1]=>3) $a = array(10,20,30,"10"); //声明一个数组,其中元素的值有整数10和字符串"10"print_r(array_keys($a,"10",true)); //使用第三个参数(true)输出:Array([0]=>3) ?>
, 'h'),
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <?php //in_array()函数的简单使用形式 $os = array("Mac","NT","Trix","Linux");   if(in_array("Trix",$os)){ //这个条件成立,字符串Trix在数组$os中 echo "Got Trix"; }   if(in_array("mac",$os)){ //这个条件失败,因为in_array()是区分大小写的 echo "Got mac"; }   //in_array严格类型检查例子 $a = array('1.10',12.4,1.13);   //第三个参数为true,所以字符串'12.4'和浮点数12.4类型不同 if (in_array('12.4',$a,true)){ echo "'12.4' found with strict checkn"; }   if (in_array(1.13,$a,true)){ //这个条件成立,执行下面的语句 echo "1.13 found with strict checkn"; }   <code class="php spaces"> //in_array()中还可以用数组当做第一个参数作为查询条件//in_array() では、数组当做第一パラメータを查询条件として使用できます<code class="php spaces"> $a = array(array('p','h'),array('p','r'),'o'); <code class="php spaces"> if(in_array(array('p','h'),$a)){ //数组array('p','h')在数组$a中存在$a<code class="php spaces"> echo "'ph'was foundn"; = <code class="php spaces"> }array<code class="php spaces"> if(in_array(array('h','p'),$a)){ //数组array('h','p')在数组$a中不存在(<code class="php spaces"> echo "'hp'was foundn";array<code class="php spaces"> }(?>'p'
array🎜(🎜'p'🎜,🎜'r'🎜),🎜'o'🎜);🎜   🎜if🎜(in_array(🎜array🎜(🎜'p'🎜,🎜'h'🎜),🎜$a🎜)){ 🎜//数组array('p','h ')数組$a中に存在します🎜 🎜echo🎜 "'ph' が見つかりました"🎜;🎜 🎜}🎜   🎜if🎜(in_array(🎜array🎜(🎜'h'🎜,🎜'p'🎜),🎜$a🎜)){ 🎜//数组array('h','p ')数組$a中には存在しません🎜 🎜echo🎜 "'hp' was foundn"🎜;🎜 🎜}🎜 ?>🎜 🎜 🎜 🎜 🎜

array_search() 関数を使用して検索することもできます。この関数は in_array() と同じパラメータを持ち、指定された値を検索し、存在する場合は対応するキー名を返します。また、データ型の厳密な判定もサポートしています。関数 array_search() で使用されるコードは次のとおりです:

1 2 3 4 5 6 7 <?php $lamp = array("a"=>"Linux","b"=>"Apache","c"=>"MySQL","d"=>"php");     echo array_search("php",$lamp);         //输出:d(在数组$lamp中,存在字符串"php"则输出下标d)    $a = array("a"=>"8","b"=>8,"c"=>"8");     echo array_search(8,$a,ture);           //输出b(严格按类型检索,整型8对应的下标b) ?>

さらに、array_key_exists() 関数を使用すると、指定されたキー名またはインデックスが配列内に存在するかどうかを確認することもできます。キー名は配列内で一意である必要があるため、データ型を判断する必要はありません。 isset() 関数を使用して配列内のキー名を確認することもできます。単一の isset() は配列内の NULL 値に対して TRUE を返しませんが、array_key_exists() は返します。コードは次のようになります:

1 2 3 4 5 6 7 8 9 10 11 12 <?php $search_array = array('first'=>1,'second'=>4);            //声明一个关联数组,其中包含两个元素    if(array_key_exists('first',$search_arry)){             //检查下标为first对应的元素是否在数组中         echo "键名为'first'的元素在数组中";     }    $search_array = array('first'=> null,'second'=>4);            //声明一个关联数组,第二个元素的值为NULL    isset($search_array['first']);                  //用isset()检索下标为first的元素返回false     array_key_exists('first',$search_array);                //用array_key_exists()检索下标为first的元素返回true ?>

④関数array_flip()

array_flip() は配列内のキーと値を交換するために使用されます。同じ値が複数回出現する場合、最後のキー名が値として使用され、前の要素が上書きされます。元の配列の値のデータ型が文字列または整数ではない場合、関数はエラーを報告します。この関数にはパラメータが 1 つだけあり、その関数プロトタイプは次のとおりです:

配列 array_flip(trans)

パラメータは必須です。処理する配列を入力する必要があり、配列内の各要素のキーと値を交換した配列を返します。関数 array_flip() で使用されるコードは次のとおりです:

1 2 3 4 5 6 7 8 9 10 <?php $lamp = array("os"=>"linux","WebServer"=>"Apache","Database"=>"MySQL","Language"=>"PHP");    //输出:Array([linux]=>os [Apache]=>WebServer [MySQL]=>Database [PHP]=Language);     print_r(array_flip($lamp));             //使用array_flip()函数交换数组中的键和值    //在数组中如果元素的值相同,则使用array_flip()会发生冲突     $trans = array("a"=>1,"b"=>1,"c"=2);     print_r(array_flip($trans));            //现在$trans变成了:Array([1]=> b [2]=> c) ?>

⑤関数array_reverse()

array_reverse() は、元の配列の要素の順序を逆にし、新しい配列を作成して返します。この関数には 2 つのパラメーターがあり、その関数プロトタイプは次のとおりです:

array array_reverse(array array[,bool prepare_keys])

最初のパラメータは必須であり、入力として配列を受け取ります。 2 番目のパラメータはオプションです。TRUE を指定すると、要素のキー名は変更されません。それ以外の場合、キー名は失われます。関数 array_reverse() で使用されるコードは次のとおりです:

1 2 3 4 5 6 7 <?php $lamp = array("OS"=>"Linux","WebServer"=>"Apache","Database"=>"MySQL","Language"=>"PHP");    //使用array_reverse()函数将数组$lamp中的元素的顺序翻转     print_r(array_reverse($lamp));     //输出的结果Array([Language]=>PHP [Database]=>MySQL [WebServer]=>Apache  [OS]=>Linux) ?>

>> この記事への固定リンク: http://php.ncong.com/php_course/arry_function/key-value.html

キーボードから n 個の整数を配列に読み取り、関数 CompactIntegers を書き込みます。配列内の値が 0 のすべての要素と、配列の後続の要素を削除します

#include
int CompactIntegers(int a[], int *m)
{
int i,j,n;//ここでは C コンパイラを使用したので修正しました
/ / C++ であれば、参照転送を直接使用できるはずです。最初に書いた内容によれば、メインプログラムで n の値を変更できるはずです
n=*m;
for(i=0; i {
if(a [i]==0)
{
for(j=i;ja[j]=a[j+1];
n- -;
}
}
*m=n;
return j;
}
void main()
{
int i,n,a[100];
printf("番号を入力してください:\n");
scanf("%d",&n);
for(i=0;i {
printf("%d の数値を入力してください:",i+1);
scanf("%d ",&(a[i]));
}
CompactIntegers(a,&n);
for(i=0;i {
printf("%d の数値は: %d\n ",i+1, a[i]);
}
}

シャッフル関数を使用してPHP配列をシャッフルした後、重複した値が異なるキーに表示されます

コードはどうなっているのでしょうか? 配列にはもともと重複した値がありますか?

http://www.bkjia.com/PHPjc/860919.html

tru​​ehttp://www.bkjia.com/PHPjc/860919.html技術記事配列のキー/値操作関数、配列関数 PH P では、配列の各要素はキー/値で構成され、要素のキーを通じて対応するキーの値にアクセスします。連想配列はキー名を参照します...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する May 01, 2024 pm 12:30 PM

PHP で配列をディープ コピーする方法には、json_decode と json_encode を使用した JSON エンコードとデコードが含まれます。 array_map と clone を使用して、キーと値のディープ コピーを作成します。シリアル化と逆シリアル化には、serialize と unserialize を使用します。

PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 May 03, 2024 pm 09:03 PM

PHP の配列キー値の反転メソッドのパフォーマンスを比較すると、array_flip() 関数は、大規模な配列 (100 万要素以上) では for ループよりもパフォーマンスが良く、所要時間が短いことがわかります。キー値を手動で反転する for ループ方式は、比較的長い時間がかかります。

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

データソートにおけるPHP配列グループ化機能の応用 データソートにおけるPHP配列グループ化機能の応用 May 04, 2024 pm 01:03 PM

PHP の array_group_by 関数は、キーまたはクロージャ関数に基づいて配列内の要素をグループ化し、キーがグループ名、値がグループに属する要素の配列である連想配列を返すことができます。

PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する Apr 30, 2024 pm 03:42 PM

PHP で配列のディープ コピーを実行するためのベスト プラクティスは、 json_decode(json_encode($arr)) を使用して配列を JSON 文字列に変換し、それから配列に戻すことです。 unserialize(serialize($arr)) を使用して配列を文字列にシリアル化し、それを新しい配列に逆シリアル化します。 RecursiveIteratorIterator を使用して、多次元配列を再帰的に走査します。

PHP 配列の多次元ソートの実践: 単純なシナリオから複雑なシナリオまで PHP 配列の多次元ソートの実践: 単純なシナリオから複雑なシナリオまで Apr 29, 2024 pm 09:12 PM

多次元配列のソートは、単一列のソートとネストされたソートに分類できます。単一列のソートでは、array_multisort() 関数を使用して列ごとにソートできますが、ネストされたソートでは、配列を走査してソートするための再帰関数が必要です。具体的な例としては、製品名による並べ替えや、売上数量や価格による化合物の並べ替えなどがあります。

C++ 関数例外の詳細: カスタマイズされたエラー処理 C++ 関数例外の詳細: カスタマイズされたエラー処理 May 01, 2024 pm 06:39 PM

C++ の例外処理は、特定のエラー メッセージ、コンテキスト情報を提供し、エラーの種類に基づいてカスタム アクションを実行するカスタム例外クラスを通じて強化できます。 std::Exception から継承した例外クラスを定義して、特定のエラー情報を提供します。カスタム例外をスローするには、throw キーワードを使用します。 try-catch ブロックでdynamic_castを使用して、キャッチされた例外をカスタム例外タイプに変換します。実際の場合、open_file 関数は FileNotFoundException 例外をスローします。例外をキャッチして処理すると、より具体的なエラー メッセージが表示されます。

重複要素の検索における PHP 配列グループ化関数の役割 重複要素の検索における PHP 配列グループ化関数の役割 May 05, 2024 am 09:21 AM

PHP の array_group() 関数を使用すると、指定したキーで配列をグループ化し、重複する要素を見つけることができます。この関数は次の手順で動作します。 key_callback を使用してグループ化キーを指定します。必要に応じて、value_callback を使用してグループ化値を決定します。グループ化された要素をカウントし、重複を特定します。したがって、array_group() 関数は、重複する要素を見つけて処理するのに非常に役立ちます。

See all articles