シェアする

  • このエントリーをはてなブックマークに追加

[PHP]文字列の下○桁を取得する一番の方法を教えていただきました

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] でやってるんですが、お優しい方助言いただけたら幸いです。

  1. strrevで文字を反転させて頭4桁取得、4桁未満なら0埋、で、最後にstrrevで再反転してます。愚かですよね…orz []

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. daira より:

    substr()を使った方法が間違ってますよ。
    正しくは
    substr($test, -$keta)
    ですね。

  2. suzukenn より:

    dairaさん、こんにちは。
    教えていただいたmiau_jpさんにも正しい方法をお聞きしたのですが、おバカな僕が書くときにミスしたようです…orz
    間違いのご指摘、ありがとうございました!