はじめに
以下の違いは、基本的には記載しない。
- 言語環境
- メソッドと関数の違い
また私的メモのため、曖昧な部分もある。(アドバイスは歓迎)
indexOfとstrpos
どちらも呼び出すStringの中から指定された値が最初に現れたインデックスを返す。
位置の計算は0から始まる。
違い
indexOf
が値がなかったら-1を返すのに対し、strpos
はfalseを返す。
toUpperCaseとstrtoupper
どちらも文字列を大文字にする。
lengthとstrlen
文字列の長さを返す。
違い
strlen
が返すのはバイト数であり、 文字数ではない。
そのため、UTF-8でエンコードされた多バイト文字を扱うときに違いが出る。
以下は "こんにちは" がUTF-8でエンコードされていて、各日本語文字が3バイトで表現されている。
php
$str = 'こんにちは';
echo strlen($str); // 15
javascript
let str = 'こんにちは';
console.log(str.length); // 5