検索
ホームページバックエンド開発PHPチュートリアルPHP配列関数の知識まとめ_phpスキル

この記事では、参考のために php 配列関数の基本的な知識を共有します。具体的な内容は次のとおりです。

配列 配列は非常に重要なデータ型です。他のデータ型と比較すると、これは構造体に似ており、この構造体には一連の値を格納できます。配列は 1 つの変数名に多くの値を格納でき、添字を参照することで値にアクセスできます。
php には、次の 3 つの配列型があります。
インデックス付き配列 - 数値インデックスを持つ配列
連想配列 - 指定されたキーを持つ配列
多次元配列 - 1 つ以上の配列を含む配列

1. 配列を作成する

配列(キー => 値)

1. インデックス配列を作成する

array() 関数を使用して配列を宣言します。 php は、比較的柔軟で便利な弱い型指定言語です。配列の要素値を直接指定することもできます。キー値は必要ありません。インデックスは自動的に割り当てられます (インデックスは 0 から始まります)。
例:

array("1" => "百度","2" => "阿里","3" => "腾讯");
或者是不使用键值:
array("百度","阿里","腾讯");
当然也可以写成:
$arr[0] = "百度";
$arr[1] = "阿里";
$arr[2] = "腾讯";

2. 連想配列を作成する

連想配列はインデックス配列と似ていますが、インデックス配列のキー名のような数値のみを指定できる点が異なります。数値、文字列、および混合形式を使用できます。配列が連想配列かどうかを判断する基準is: array 数値ではないキー名が存在するかどうか。いいえ、関連しています。

array("ロビン・リー" => "百度","ジャック・マー" => "アリババ","馬化騰" => "テンセント");

3. 多次元配列

array(array(),array()) 2 次元配列

配列の長さを取得する - count() 関数

<?php
$arr = array("百度","阿里","腾讯");
echo count($arr);
?> //结果返回3(说明数组中有三个元素)

2. 配列の走査

配列内の要素の値を出力します。インデックス配列の場合は for と foreach が一般的に使用され、連想配列の場合は foreach が一般的に使用されます。 print_r() 関数を使用してループの後に結果を出力するか、var_dump() 関数を使用します。

1. インデックス配列を走査する

インデックス配列のすべての値を走査して出力するには、次のように for、foreach(array_expression as value)、foreach(arrayexpressionaskey => $value) ループを使用できます。

for ループを使用する

<?php
$arr = array("百度","阿里","腾讯");
$arrlen = count($arr);//获取数组的长度
for ($i=0; $i <$arrlen ; $i++) { 
  $data[] = $arr[$i]; 
}
echo "<pre class="brush:php;toolbar:false">"; //换行显示
print_r($data);

印刷結果は次のように表示されます。
配列
(
[0] => 百度
[1] => アリ
[2] => テンセント

foreach ループを使用
します。

<?php
$arr = array("百度","阿里","腾讯");
foreach ($arr as $value) {
  $data[] = $value;
}
echo "<pre class="brush:php;toolbar:false">"; //换行显示
print_r($data);//打印结果和上面一样

注: データの後に配列記号 [] があります。なぜですか?

2. 連想配列を走査する

連想配列のすべての値を走査して出力するには、次のように foreach (array_expression as key=>value) ループを使用できます。

<?php
$arr = array("李彦宏" => "百度","马云" => "阿里","马化腾" => "腾讯");
foreach ($arr as $key => $value) {
  $data[$key] = $value;
}
echo "<pre class="brush:php;toolbar:false">"; //换行显示
print_r($data);

印刷結果は次のようになります。

array
(
  [李彦宏] => 百度
  [马云] => 阿里
  [马化腾] => 腾讯
)

気づきましたか?この時、データ[$key]以降は何になるのでしょうか? [] の代わりに
1 つは数値連想配列で、もう 1 つは数値インデックス配列です。

3. 配列の要素を追加および削除する

配列要素の末尾に
を追加します array_push(array,value1,value2…) 関数は、最初のパラメーターの配列の末尾に 1 つ以上の要素 (プッシュ) を追加し、新しい配列の長さを返します。
この関数は、array[]=value への複数の呼び出しと同等です。

<?php
$arr = array("百度","阿里","腾讯");
array_push($arr,"知乎","微博");
echo "<pre class="brush:php;toolbar:false">"; //换行显示
print_r($arr);
//打印结果显示:
array
(
  [0] => 百度
  [1] => 阿里
  [2] => 腾讯
  [3] => 知乎
  [4] => 微博
)

配列要素の先頭に追加します
array_unshift(array,value1,value2,value3…) 関数は、新しい要素を配列に挿入するために使用されます。新しい配列の値は配列の先頭に挿入されます。

<?php
$arr = array("百度","阿里","腾讯");
array_unshift($arr,"知乎","微博");
echo "<pre class="brush:php;toolbar:false">"; //换行显示
print_r($arr);
//打印结果显示:
array
(
  [0] => 知乎
  [1] => 微博
  [2] => 百度
  [3] => 阿里
  [4] => 腾讯
)

配列要素の末尾を削除
array_pop(array) 関数は、配列から最後の要素を削除します。

<?php
$arr = array("百度","阿里","腾讯");
array_pop($arr);
echo "<pre class="brush:php;toolbar:false">"; //换行显示
print_r($arr);
打印结果显示:
array
(
  [0] => 百度
  [1] => 阿里
)

配列要素の先頭を削除
array_shift(array) 関数は、配列内の最初の要素を削除し、削除された要素の値を返します。

<?php
$arr = array("百度","阿里","腾讯");
array_shift($arr);
echo "<pre class="brush:php;toolbar:false">"; //换行显示
print_r($arr);
打印结果显示:
array
(
  [0] => 阿里
  [1] => 腾讯
)

配列から重複した値を削除します
array_unique(array) 関数は、配列から重複する値を削除し、結果の配列を返します。

<?php
$arr = array("百度","阿里","腾讯","百度","微博");
$data = array_unique($arr);
echo "<pre class="brush:php;toolbar:false">";
print_r($data);
打印结果显示:
array
(
  [0] => 百度
  [1] => 阿里
  [2] => 腾讯
  [4] => 微博
)

4. 配列要素の配置

配列内に存在する値を検索します
in_array(search,array,type) は、指定された値が配列内に存在するかどうかを確認します。
指定された値の検索が配列 array 内に存在する場合は true を返します。 3 番目のパラメーターが true に設定されている場合、関数は要素が配列内に存在し、指定された値と同じデータ型を持つ場合にのみ true を返します。パラメータが配列内に見つからない場合、関数は false を返します。

<?php
$arr = array("百度","阿里","腾讯");
while (in_array("百度", $arr)) {
  echo "已经找到";
  break;
} //输出已经找到

条件に基づいて配列から値を削除します: array_slice(array,start,length,preserve)
開始が必要です。数値。取得する要素の開始位置を指定します。 0 = 最初の要素。
値を正の数に設定すると、前から後ろに向かって取得されます。
値が負の数に設定されている場合、start の絶対値が後ろから前に取得されます。 -2 は、配列の最後から 2 番目の要素から開始することを意味します。

長さはオプションです。数値。返される配列の長さを指定します。
値が整数に設定されている場合は、その数の要素が返されます。
この値が負の数に設定されている場合、関数はサンプル配列の終わりから遠く離れたところでフェッチを終了します。
この値が設定されていない場合は、start パラメータで設定された位置から配列の末尾までのすべての要素が返されます。

<?php
$arr = array("百度","阿里","腾讯","知乎","微博");
$data = array_slice($arr,0,4);
echo "<pre class="brush:php;toolbar:false">";
print_r($data);
打印结果显示:
array
(
  [0] => 百度
  [1] => 阿里
  [2] => 腾讯
  [3] => 知乎
)

array_splice(array,start,length,array) 関数は、選択した要素を配列から削除し、新しい要素に置き換えます。この関数は、削除された要素を含む配列も返します。

<?php
$arr1 = array("百度","阿里","腾讯");
$arr2 = array("知乎","微博");
array_splice($arr1,0,2,$arr2);
echo "<pre class="brush:php;toolbar:false">";
print_r($arr1);
打印结果显示:
array
(
  [0] => 知乎
  [1] => 微博
  [2] => 腾讯
)

5. 配列の結合、分割、比較

array_merge() 関数は配列をマージし、結合された配列を返します。結果の配列は、最初の入力配列パラメーターで始まり、後続の配列パラメーターが出現する順序で追加されます。

<?php
$arr1 = array("百度","阿里","腾讯");
$arr2 = array("知乎","微博");
$data = array_merge($arr1,$arr2);
echo "<pre class="brush:php;toolbar:false">";
print_r($data);
打印结果显示:
array
(
  [0] => 百度
  [1] => 阿里
  [2] => 腾讯
  [3] => 知乎
  [4] => 微博
)

配列を再帰的に追加します
array_merge_recursive() 関数は array_merge() と同じで、2 つ以上の配列をマージして、結合された配列を形成できます。 2 つの違いは、入力配列内のキーが結果配列にすでに存在する場合、関数は異なるアプローチを取ることです。 array_merge() は、以前に存在していたキー/値のペアを上書きし、現在の入力配列内のキー/値のペアに置き換えます。一方、array_merge_recursive() は、2 つの値をマージして、元のキーを配列名として持つ新しい配列を形成します。 。その形式は次のとおりです:

$arr= array('one'=>'c', 'one'=>'b'); 
$arr1= array('three'=>'1', 'one'=>'2'); 
$arr2= array_merge_recursive($arr, $arr1); 
echo "<pre class="brush:php;toolbar:false">";
print_r($arr2); 
打印结果显示:
array
(
  [one] => array
    (
      [0] => b
      [1] => 2
    )

  [three] => 1
)

2 つの配列を結合します
array_combine() 関数は、送信されたキーと対応する値のセットで構成される新しい配列を次の形式で生成します。

$arr= array('a', 'b'); 
$arr1= array('1', '2'); 
$arr2= array_combine($arr, $arr1);
echo "<pre class="brush:php;toolbar:false">";
print_r($arr2); 
打印结果显示:
array
(
  [a] => 1
  [b] => 2
)

配列の共通部分を見つけます
array_intersect() 関数は、最初の配列に出現し、他のすべての入力配列に出現する値のみで構成されるキー保存配列を返します。その形式は次のとおりです。

$arr= array('a', 'b', 'c', 'd'); 
$arr1= array('a', 'b', 'e'); 
$arr2= array('a', 'f', 'd'); 
$arr3= array_intersect($arr, $arr1, $arr2); 
echo "<pre class="brush:php;toolbar:false">";
print_r($arr3); 
打印结果显示:
array
(
  [0] => a
)

注: array_intersect() は、2 つの要素が同じデータ型を持つ場合にのみ等しいとみなします。

連想配列の共通部分を見つけます
array_intersect_assoc() は、比較の際に配列のキーも考慮する点を除いて、基本的に array_intersect() と同じです。したがって、最初の配列に出現し、他のすべての入力配列にも出現するキーと値のペアのみが結果配列に返されます。その形式は次のとおりです。

$arr= array('a'=>'a', 'b'=>'b', 'c'=>'c', 'd'=>'d'); 
$arr1= array('a'=>'a', 'c'=>'b', 'e'); 
$arr2= array('a'=>'a', 'b'=>'f', 'd'=>'b'); 
$arr3= array_intersect_assoc($arr, $arr1, $arr2); 
echo "<pre class="brush:php;toolbar:false">";
print_r($arr3); 
打印结果显示:
array
(
  [a] => a
)

連想配列の違いを見つける
関数 array_diff_assoc() は基本的に array_diff() と同じですが、比較するときに配列のキーも考慮するため、最初の配列にのみ現れ、他の入力配列には現れないキーと値のペアが返される点が異なります。 . 結果配列に含まれます。その形式は次のとおりです。

$arr= array('a'=>'a', 'b'=>'b', 'c'=>'c', 'd'=>'d'); 
$arr1= array('a'=>'a', 'b'=>'b', 'e'=>'e'); 
$arr3= array_diff_assoc($arr, $arr1); 
echo "<pre class="brush:php;toolbar:false">";
print_r($arr3); 
打印结果显示:
array
(
  [c] => c
  [d] => d
)

その他の便利な配列関数
キーのランダムなセットを返します。 array_rand() 関数は、配列内の 1 つ以上のキーを返します。その形式は次のとおりです:

$arr= array('a'=>'a', 'b'=>'b', 'c'=>'c', 'd'=>'d'); 
$arr1= array_rand($arr, 2); 
echo "<pre class="brush:php;toolbar:false">";
print_r($arr1);
打印结果显示:
 array
(
  [0] => c
  [1] => d
) //每次刷新显示的结果都不一样

配列内の値を合計します
array_sum() 関数は、配列内のすべての値を加算し、次の形式の最終合計を返します。

$arr= array('a', 32, 12, 'b'); 
$count= array_sum($arr); 
echo "<pre class="brush:php;toolbar:false">";
print_r($count); 

印刷結果は次のようになります。
44

配列に他のデータ型 (文字列など) が含まれている場合、これらの値は無視されます。

配列を分割します
array_chunk() 関数は、配列を多次元配列に分解します。多次元配列は、size 要素を含む複数の配列で構成されます。その形式は次のとおりです。

$arr= array('a', 'b', 'c', 'd'); 
$arr1= array_chunk($arr, 2); 
echo "<pre class="brush:php;toolbar:false">";
print_r($arr1); 

印刷結果は次のようになります。

array
(
  [0] => array
    (
      [0] => a
      [1] => b
    )

  [1] => array
    (
      [0] => c
      [1] => d
    )

)

配列の処理時に呼び出すことができる関数は次のとおりです

array_filter(*array*,*callbackfunction*);
array_intersect_uassoc(*array1*,*array2*,*array3*...,*myfunction*)
array_intersect_ukey(*array1*,*array2*,*array3*...,*myfunction*)
array_reduce(*array*,*myfunction*,*initial*)
array_walk(*array*,*myfunction*,*userdata*...)
……

以上がこの記事の全内容です。php プログラミングを学習する皆さんの参考になれば幸いです。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么读取字符串后几个字符php怎么读取字符串后几个字符Apr 22, 2022 pm 08:31 PM

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么查找字符串是第几位php怎么查找字符串是第几位Apr 22, 2022 pm 06:48 PM

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

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

AI Hentai Generator

AI Hentai Generator

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

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境