【 PHP 】PHP8に入門してみた 121日目 PHPの基本 ( 組み込み関数 配列要素を1つずつ処理 )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

組み込み関数

foreach的な? array_walk関数

配列の要素を順番に取り出して処理を進めることは多々あります。
CSVデータやスクレイピングで取得したHTMLのタグだったりほんとにいろいろ。

array_walkはそんなときに使う関数です。
foreachに似ていますがコールバック関数に任意の値を渡せる点が違うそうです。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHPの基本</title>
</head>

<body>
    <?php

    $keys = ['十', '百', '千', '万', '億', '兆', '京', '垓', '𥝱', '穣', '溝', '澗', '正', '載', '極', '恒河沙', '阿僧祇', '那由他', '不可思議', '無量大数'];
    $data = ['那由他', '京', '垓', '億', '無量大数'];

    array_walk($data, function ($value, $key, $suffix/*← 任意の値を渡せる */) {
        print "${key}: ${value}${suffix}";
    }, '<br />'/* ←任意の値 */);

    print_r($data);
    print '<br />'
    ?>
</body>

</html>

「任意の値を渡せる」変数(上記では$suffix)は1つしか定義できないようです。
….$fuffix, $prefix….のようにはできないということです。

メモ

foreachでいいのでは?

PHPPHP

Posted by raika@blog