更新履歴
更新日 | 更新者 | 更新内容 |
---|---|---|
2021/8/13 | JJI | ・”はじめに”の段落の内容を修正 |
2021/8/20 | JJI | ・サンプルプログラムの実行結果に画面の画像を追加 |
はじめに
配列を表示するため、次の共通関数を使用している場合があります。
array_chunk
array_chunk()関数のサンプルプログラムです。
配列、連想配列のそれぞれについてコードを書いています。
<?php
// 引数の値への厳密な型付け
declare(strict_types = 1);
// ライブラリの読み込み
require_once "lib/sample_lib_02_03.php";
echo "ファイル名:sample02_03_31.php<br>\n";
echo "【PHP】配列関数:array_chunk<br>\n";
// 1次元配列
$ary1 = [
"山田", "太郎", 35, "男性", "東京都"
];
// 1次元連想配列
$ary2 = [
"first_name" => "山田", "second_name" => "太郎", "age" => 35, "seibetsu" => "男性", "pref" => "東京都"
];
echo "要素2ずつの配列に分割、添え字は振りなおす<br>\n";
$result1 = array_chunk($ary1, 2);
foreach($result1 as $arys) {
echo_array1($arys);
}
echo "要素2ずつの配列に分割、添え字はそのまま<br>\n";
$result2 = array_chunk($ary1, 2, true);
foreach($result2 as $arys) {
echo_array1($arys);
}
echo "要素2ずつの連想配列に分割<br>\n";
$result3 = array_chunk($ary2, 2);
// 連想配列の場合、添え字は数字に変わる
foreach($result3 as $arys) {
echo_array1($arys);
}
?>
実行結果です。
・画面

・HTML
ファイル名:sample02_03_31.php<br>
【PHP】配列関数:array_chunk<br>
要素2ずつの配列に分割、添え字は振りなおす<br>
[0]:山田: [1]:太郎:<br><br>
[0]:35: [1]:男性:<br><br>
[0]:東京都:<br><br>
要素2ずつの配列に分割、添え字はそのまま<br>
[0]:山田: [1]:太郎:<br><br>
[2]:35: [3]:男性:<br><br>
[4]:東京都:<br><br>
要素2ずつの連想配列に分割<br>
[0]:山田: [1]:太郎:<br><br>
[0]:35: [1]:男性:<br><br>
[0]:東京都:<br><br>
array_column
array_column()関数を使用したサンプルプログラムです。
<?php
// 引数の値への厳密な型付け
declare(strict_types = 1);
// ライブラリの読み込み
require_once "lib/sample_lib_02_03.php";
echo "ファイル名:sample02_03_32.php<br>\n";
echo "【PHP】配列関数:array_column<br>\n";
// 2次元配列
$ary1 = [
["1001", "山田", "太郎", 35, "男性"],
["2052", "山田", "次郎", 30, "男性"],
["3796", "山田", "花子", 28, "女性"]
];
// 2次元連想配列
$ary2 = [
["id" => "1001", "first_name" => "山田", "second_name" => "太郎", "age" => 35, "seibetsu" => "男性"],
["id" => "2052", "first_name" => "山田", "second_name" => "次郎", "age" => 30, "seibetsu" => "男性"],
["id" => "3796", "first_name" => "山田", "second_name" => "花子", "age" => 28, "seibetsu" => "女性"]
];
echo "2次元配列から3列目を値にした配列を作る<br>\n";
$names = array_column($ary1, 2);
echo_array1($names);
echo "2次元配列の1列目を添え字、3列目を値にした配列を作る<br>\n";
$names = array_column($ary1, 2, 0);
echo_array1($names);
echo "2次元連想配列から\"second_name\"列を値にした配列を作る<br>\n";
$names = array_column($ary2, "second_name");
echo_array1($names);
echo "2次元連想配列の\"id\"列を添え字、\"second_name\"列を値にした配列を作る<br>\n";
$names = array_column($ary2, "second_name", "id");
echo_array1($names);
?>
実行結果です。
・画面

・HTML
ファイル名:sample02_03_32.php<br>
【PHP】配列関数:array_column<br>
2次元配列から3列目を値にした配列を作る<br>
[0]:太郎: [1]:次郎: [2]:花子:<br><br>
2次元配列の1列目を添え字、3列目を値にした配列を作る<br>
[1001]:太郎: [2052]:次郎: [3796]:花子:<br><br>
2次元連想配列から"second_name"列を値にした配列を作る<br>
[0]:太郎: [1]:次郎: [2]:花子:<br><br>
2次元連想配列の"id"列を添え字、"second_name"列を値にした配列を作る<br>
[1001]:太郎: [2052]:次郎: [3796]:花子:<br><br>
array_combine
array_combine()関数のサンプルプログラムです。
array_combine()関数はキー用の1次元配列、値用の1次元配列から連想配列を作ることができます。
<?php
// 引数の値への厳密な型付け
declare(strict_types = 1);
// ライブラリの読み込み
require_once "lib/sample_lib_02_03.php";
echo "ファイル名:sample02_03_33.php<br>\n";
echo "【PHP】配列関数:array_combine<br>\n";
// 1次元配列
$ary1 = [
"first_name", "second_name", "age", "seibetsu", "pref"
];
// 1次元配列
$ary2 = [
"山田", "太郎", 35, "男性", "東京都"
];
echo "2つの1次元配列から連想配列を作る<br>\n";
$result1 = array_combine($ary1, $ary2);
// 配列の出力
echo_array1($result1);
?>
実行結果です。
・画面

・HTML
ファイル名:sample02_03_33.php<br>
【PHP】配列関数:array_combine<br>
2つの1次元配列から連想配列を作る<br>
[first_name]:山田: [second_name]:太郎: [age]:35: [seibetsu]:男性: [pref]:東京都:<br><br>
array_diff
array_diff()関数のサンプルプログラムです。
<?php
// 引数の値への厳密な型付け
declare(strict_types = 1);
// ライブラリの読み込み
require_once "lib/sample_lib_02_03.php";
echo "ファイル名:sample02_03_34.php<br>\n";
echo "【PHP】配列関数:array_diff<br>\n";
// 1次元配列、比較元
$ary1 = [
"山田", "太郎", 35, "男性", "東京都"
];
// 1次元配列、比較先
$ary2 = [
"name" => "山田", "次郎", 35, "seibetsu" => "女性"
];
echo '$ary1と$ary2の比較' . "<br>\n";
// 配列の値を比較し、差がある要素を数字の添え字をつけて出力する
$result1 = array_diff($ary1, $ary2);
echo_array1($result1);
?>
実行結果です。
・画面

・HTML
ファイル名:sample02_03_34.php<br>
【PHP】配列関数:array_diff<br>
要素2ずつの連想配列に分割<br>
[1]:太郎: [3]:男性: [4]:東京都:<br><br>
array_fill
array_fill()関数のサンプルプログラムです。
この関数はテストデータを使用するときに便利かもしれません。
<?php
// 引数の値への厳密な型付け
declare(strict_types = 1);
// ライブラリの読み込み
require_once "lib/sample_lib_02_03.php";
echo "ファイル名:sample02_03_35.php<br>\n";
echo "【PHP】配列関数:array_fill<br>\n";
echo "添え字の開始は2、要素5の配列を作る". "<br>\n";
$result1 = array_fill(2, 5, "リンゴ");
echo_array1($result1);
echo "添え字の開始は-5、要素5の配列を作る". "<br>\n";
$result1 = array_fill(-5, 5, "ゴリラ");
echo_array1($result1);
?>
実行結果です。
・画面

・HTML
ファイル名:sample02_03_35.php<br>
【PHP】配列関数:array_fill<br>
添え字の開始は2、要素5の配列を作る<br>
[2]:リンゴ: [3]:リンゴ: [4]:リンゴ: [5]:リンゴ: [6]:リンゴ:<br><br>
添え字の開始は-5、要素5の配列を作る<br>
[-5]:ゴリラ: [0]:ゴリラ: [1]:ゴリラ: [2]:ゴリラ: [3]:ゴリラ:<br><br>
コメント