【 PHP 】PHP8に入門してみた 101日目 PHPの基本 ( 組み込み関数 出現位置を特定 )

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

組み込み関数

出現位置を取得 mb_strpos, mb_strrpos関数

文字列中に指定した文字列がどの位置に出現するのか、確認するにはmb_strposmb_strposを使用します。

mb_strposは最初に出現した位置を返します。mb_strrposは最後に出現した位置を返すのが特徴です。

第3パラメータが厄介ですね。
本書ではoffsetと呼んでいます。
なんと負数が使えます。

本書でも説明があるのですが、私の頭が悪すぎてりかいできず・・・🤔

<!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
    // print命令は指定された文字列を表示するための命令です。
    $msg = 'こんにちは、変数の世界! <br />';

    print $msg;
    print 'こんにちは、皆さん! ';

    print '<br />';

    $str = 'にわにはにわにわとりがいる';
    print mb_strpos($str, 'にわ', -10);
    print '<br />';
    print mb_strrpos($str, 'にわ', -8);
    print '<br />';
    ?>
</body>

</html>

 

mb_strrposの場合の挙動がなんとも・・・。
考えかたとして、mb_strrposで負数の場合はサーチ範囲が0~(全体の文字数 + オフセット値)となるようです。。。。
何を言っているのか自分でもわからなくなってきたのでここで諦めます。

メモ

負数を使うことはそうそうないでしょ!

PHPPHP

Posted by raika@blog