テクノロジー

PHPのarray_map() で、配列のキーを使う方法

kyo asahina🦄's icon'
  • kyo asahina🦄
  • 2019/02/11 07:24

PHPの関数array_map()を使うと、配列の要素にコールバック関数を適用することができます。

<?php
$array = [
"北海道",
"東日本",
"西日本",
];
$converted = array_map(function ($val) {
return "JR" . $val;
}, $array);
print_r($converted);

この例を実行すると次のようになります。

Array
(
[0] => JR北海道
[1] => JR東日本
[2] => JR西日本
)

北海道、東日本、などの文字列の頭にJRを付与、ですね。

ではそれぞれの配列の添え字、つまり0とか1とかをコールバック関数の中では使えるんでしょうか?

結論から言うと一工夫すると使えるわけで、次のようにします。

<?php
$array = [
"北海道",
"東日本",
"西日本",
];
$converted = array_map(function ($key, $val) {
return $key . "番目、JR" . $val;
}, array_keys($array), array_values($array));
print_r($converted);

そして出力

Array
(
[0] => 0番目、JR北海道
[1] => 1番目、JR東日本
[2] => 2番目、JR西日本
)

添え字を使って、0番目や1番目といった出力ができるようになりました。

重要なのは、array_mapの第二引数にarray_keys($array)でキー配列を配置、第三引数にarray_values($array)で値の配列を指定することです。

こうするとコールバック関数の引数の$keyと$valを活用することが可能になります。

----- 著 書 の 紹 介 ------

◆kyo asahinaの著書◆

PythonとQt5ではじめるGUIプログラミング for Windows (NKYS書房) Kindle版

テンプレートエンジンTwigを覚える本 Kindle版

Smarty 3を覚える本 Kindle版

公開日:2019/02/11
獲得ALIS:9.58
kyo asahina🦄's icon'
  • kyo asahina🦄
  • @kyoasahina
プログラマー(Web系)です。ツイッター:https://twitter.com/kyoplusplus Kindleで「Twigを覚える本」出版してます。http://amzn.to/2gOM9yC

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS