miau_jpさんより、Twitter入電!素敵な方法を教えていただきました。
$keta = 4; // 文字列 $test = "24578455"; $result = substr($test, -$keta); // 数字 $test = 24578455; $result = $test % pow(10, $keta); // 指定桁数未満の場合0で埋めるなら $result = sprintf("%04s", substr($test, -$keta));
スッキリしました。miau_jpさん、どうもありがとうございます!
—以下元の記事
例えば
24578455の下4桁、8455を取得したいとき、皆さんならどうやります?
多分セオリー的なやり方はあるんでしょうけど、僕はわからないので、
$test = "24578455"; var_dump(strrev(sprintf("%-04.4s", strrev($test))));
こんな風に訳のわからない方法*1 でやってるんですが、お優しい方助言いただけたら幸いです。
- strrevで文字を反転させて頭4桁取得、4桁未満なら0埋、で、最後にstrrevで再反転してます。愚かですよね…orz [↩]
コメント
substr()を使った方法が間違ってますよ。
正しくは
substr($test, -$keta)
ですね。
dairaさん、こんにちは。
教えていただいたmiau_jpさんにも正しい方法をお聞きしたのですが、おバカな僕が書くときにミスしたようです…orz
間違いのご指摘、ありがとうございました!